Я пытаюсь отсортировать массив объектов по двум типам сортировок и в итоге помещать их в CSV-файл в четыре строки следующим образом:
- сортировать имена героев по их интеллекту
- сортировка очков героев по их интеллекту
- сортировка имен героев по их allPowers
- сортировка баллов героев по их allPowers
Этокод, который я сейчас пытаюсь:
async function getHeros () {
let results = [];
for (let key of Object.values(heroes)) {
let heroesResponse = await rp({url: 'api-call', json: true});
results.push({
heroName: heroesResponse.name,
intelligence: parseInt(heroesResponse.powerstats.intelligence),
allPowers: parseStringToInt(heroesResponse.powerstats)
});
}
console.log(results);
let sortByPower = results.sort((a,b) => {return a.allPowers - b.allPowers});
let sortByIntelligence = results.sort((a,b) => {return a.intelligence - b.intelligence});
// console.log('Sort by intelligence: ');
// console.log(sortByIntelligence);
// console.log('Sort by power: ');
// console.log(sortByPower);
}
Вывод результатов:
[ { heroName: 'Superman', intelligence: '94', allPowers: 579 },
{ heroName: 'Sylar', intelligence: '75', allPowers: 272 },
{ heroName: 'Iron Man', intelligence: '100', allPowers: 492 },
{ heroName: 'Wolverine', intelligence: '63', allPowers: 434 },
{ heroName: 'Wonder Woman', intelligence: '88', allPowers: 567 },
{ heroName: 'Spider-Man', intelligence: '90', allPowers: 446 },
{ heroName: 'James Bond', intelligence: '88', allPowers: 268 },
{ heroName: 'Luke Skywalker', intelligence: '69', allPowers: 374 },
{ heroName: 'Mystique', intelligence: '75', allPowers: 312 },
{ heroName: 'Rogue', intelligence: '75', allPowers: 285 } ]
Вывод sortByIntelligence и sortByPower - этото же самое, что я не понимаю, почему. Если я запускаю только один вид, он работает, но не на обоих