Получите самую низкую цену в массиве объектов - PullRequest
0 голосов
/ 02 мая 2018

У меня есть массив объектов с именем cars, который содержит результаты поиска. В каждом листинге есть атрибут с именем data-price.

Пример объекта Array

<li xmlns="http://www.w3.org/1999/xhtml" id="listing-ECAR-R-EY-MCOO001-EY-MCOO001" data-price="94.03"></li>

Мне интересно, как я могу получить самое низкое значение цены данных? А среднее значение data-price из массива автомобилей?

Код:

// Это распечатывает каждое значение цены

cars.forEach(function(element) {
    console.log(element[0].getAttribute("data-price"));
});

1 Ответ

0 голосов
/ 02 мая 2018

Вы можете использовать метод map в сочетании с функциями Math.min и reduce.

Я использовал метод reduce, чтобы узнать sum элементов и получить average путем деления суммы на количество элементов в массиве cars.

Метод redu () применяет функцию к аккумулятору и каждому элемент в массиве (слева направо), чтобы уменьшить его до одного значение.

let prices = cars.map(function(element) {
   return element[0].getAttribute("data-price");
});

let lowestPrice = Math.min(...prices);
let avg = prices.reduce(function(acc, val) { return acc + val; }, 0)/prices.length

Альтернатива spread syntax.

let lowestPrice = Math.min.apply(null, prices);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...