При сортировке массива по параметру он сортируется в зависимости от другого параметра.Я хотел бы игнорировать параметр и сортировать в соответствии с моим параметром точно.
Я создал вспомогательную функцию, которая сортирует мой массив по моему параметру, и он работает следующим образом:
Например, у меня есть имя и цена, и мой массив выглядит так
[{name: "A", цена: 5}, {name: "A", цена: 70}, {name: "A", цена: 12}, {name: "A", цена: 576}, {имя: "C", цена: 300}. {имя: "C", цена: 899}, {имя: "B", цена: 12}, {имя: "B", цена: 40}, {имя: "B", цена: 15}]
После сортировки по цене я получаю: [{name: "A", цена: 576}, {name: "A", цена: 70}, {имя: "A", цена: 12}, {имя: "A", цена: 5}, {имя: "C", цена: 899}. {имя: "C", цена: 300}, {имя:"B", цена: 40}, {имя: "15", цена: 12}, {имя: "B", цена: 8}]
Я хотел бы, чтобы оно игнорировало имя и простосортировать по цене ... 899,576,300,70 ...
Это вспомогательная функция, которая сортирует по выбранному параметру:
const propComparator = (propName) =>
(a, b) => a[propName] == b[propName] ? 0 : a[propName] < b[propName] ? -1 : 1
Я добавляю элементы внабор, затем после пары циклов for, которые добавляют элементы в набор, я превращаю его в массив и сортируювот так:
let topArray = Array.from(topSet).sort(propComparator('price'));