【发布时间】:2020-05-07 23:54:40
【问题描述】:
我是 Typescript/JavaScript 的新手,所以我确定我错过了一些简单的东西。
我有一个包含 2 种类型的数组,每种类型都有一个包含 3 - 4 个名称的子数组:
myArray = [
{
"type": "abc",
"names": {
"Jane Smith": 5,
"John Doe": 3,
"Jack Jones": 2
}
},
{
"type": "xyz",
"names": {
"Jane Smith": 3,
"John Doe": 7,
"Jack Jones": 3
}
}
];
我需要知道哪个主要类型的总总数最高,并首先显示。在此示例中,“xyz”的总数最高((3 + 7 + 3) 与 (5 + 3 + 2))。所以我想在 abc 之前显示 xyz。
我成功地获得了两者的总数并将它们放入一个名为 totalValues 的新数组中:
totalValues = [
{
"type": "xyz",
"count": 13
}
},
{
"type": "abc",
"count": 10
}
}
];
问题是我需要根据总数按类型对原始数组(myArray)进行排序,我无法弄清楚。
let sortedTotalValues = totalValues.sort().reverse(); //highest value first
let sortedGroupNames = null;
sortedGroupNames = myArray.sort((a, b) => {
return sortedTotalValues[0].indexOf(a) - sortedTotalValues[0].indexOf(b);
});
任何帮助将不胜感激。
【问题讨论】:
标签: arrays angular typescript sorting