根据值对组进行排序

时间:2020-08-06 10:01:57

标签: javascript highcharts mapreduce crossfilter

我有一个名为p的群组。在该组上执行某些操作后,我得到了相应的输出,如图所示-

p.all()
>> 01: {key: "A", value: {count:2}}
>> 102: {key: "B", value: {count:10}}
>> 103: {key: "C", value: {count:4}}
p5.all()[0].value.count
>> 2
p5.all()[1].value.count
>> 10
p5.all()[1].key
>> "B"
我想根据计数对前2个值进行排序。因此输出应为:
{key: "B", value: {count:10}}
{key: "C", value: {count:4}}

如何对它进行排序?

3 个答案:

答案 0 :(得分:1)

const myArray = [
  {key: "A", value: {count:2}},
  {key: "B", value: {count:10}},
  {key: "C", value: {count:4}},
]

const sortedArray = myArray.sort((a, b) => b.value.count - a.value.count);

console.log(sortedArray);

答案 1 :(得分:1)

const groupP = [
  {key: "A", value: {count:2}},
  {key: "B", value: {count:10}},
  {key: "C", value: {count:4}},
]

const sortedGroupP = groupP.sort((a, b) => a.value.count - b.value.count);

console.log(sortedGroupP[groupP.length -2]);
console.log(sortedGroupP[groupP.length - 1]);

答案 2 :(得分:1)

const myArray = [
  { key: "A", value: { count: 2 } },
  { key: "B", value: { count: 10 } },
  { key: "C", value: { count: 4 } },
];

const result = myArray.sort((a, b) => b.value.count - a.value.count).splice(0, 2);

console.log(result);