Задать вопрос
@Mdmitr

Как отсортировать объект по цене?

Как можно отсортировать такой массив объектов по цене?

const products = [
    {"term":{
            "2": 
            {
                "id": "2",
                "price": "119",
                "quantity": "1"
            },
          "23":
          {
                "id": "9",
                "price": "199",
                "quantity": "5"
            }
        }
    },
    {"term":{
            "103": 
            {
                "id": "20",
                "price": "100",
                "quantity": "13"
            }
        }
    },
    {"term":{
            "256": 
            {
                "id": "678",
                "price": "569",
                "quantity": "6"
            }
        }
    }, 
];


Пытался сортировать так
но я получаю отсортированные цены а не объект
const srt = products.map((item) => {
            return Object.keys(item.term).map((key) => {
                return item.term[key].price;
            })
        })
console.log('sort', srt.sort((a, b) => a - b))


в итоге я хочу получить отсортированный массив объектов по цене
первый объект в массиве должен быть с самой маленькой ценой,
а последний объект с самой большой ценой.
ну от меньшей цены к большей
  • Вопрос задан
  • 178 просмотров
Подписаться 1 Средний 15 комментариев
Решения вопроса 1
RAX7
@RAX7
products.sort((a, b) => {
  a = Math.min(...Object.values(a.term).map(v => Number(v.price)));
  b = Math.min(...Object.values(b.term).map(v => Number(v.price)));
  return a - b;
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 17:50
7000 руб./за проект
18 дек. 2024, в 17:26
5000 руб./за проект
18 дек. 2024, в 17:23
1500 руб./за проект