Я новичок в 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)). Поэтому я хотел бы отобразить xyz до ab c.
. Я успешно получаю итоговые значения двух и помещаю их в новый массив с именем 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);
});
Любая помощь будет высоко ценится.