Есть набор данных:
let section = {
name: ["product1","product2","product3","product4","product5","product6","product7"],
count: [5,5,5,5,5,5,5],
prise: [10000.99,5000.99,8000.99,430.66,47535.45,1111.23,5400.78],
};
Выполняю сортировку так:
section.prise.sort(function(a, b) {
return (b.prise<a.prise) - (a.prise<b.prise)
});
for (let i=0;i<=section.name.length;i++){
console.log(section.name[i],section.count[i],section.prise[i]);
}
Но массив не сортируется и остаётся прежним:
product1 5 10000.99
product2 5 5000.99
product3 5 8000.99
product4 5 430.66
product5 5 47535.45
product6 5 1111.23
product7 5 5400.78
let section = {
name: ["product1", "product2", "product3", "product4", "product5", "product6", "product7"],
count: [5, 5, 5, 5, 5, 5, 5],
prise: [10000.99, 5000.99, 8000.99, 430.66, 47535.45, 1111.23, 5400.78],
};
let objs = [];
for (let i = 0; i < section.name.length; i++) {
objs.push({ n: section.name[i], c: section.count[i], p: section.prise[i] });
}
objs.sort((a, b) => a.p - b.p);
for (let i = 0; i < section.name.length; i++) {
[section.name[i], section.count[i], section.prise[i]] = [objs[i].n, objs[i].c, objs[i].p];
}
for (let i = 0; i < section.name.length; i++) {
console.log(section.name[i], section.count[i], section.prise[i]);
}
section.prise.sort(function(a, b) {
return (b.prise<a.prise) - (a.prise<b.prise)
у вас в массиве prise у значений нет свойства prise
. Так что вы сравниваете один undefined
с другим. Собственно поэтому sort и не сортирует массив, бо незачем.
Попробуйте
section.prise.sort((a,b)=>a-b)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть функция, которая проверяет значение на дробное
Когда пользователю приходит новое сообщение, вывожу в title мигание, что новое сообщение как в вк
День добрый! Подскажите как организовать что-то типа локальной БДНужно с локального сайта получать содержимое локальных файлов из того...