Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите решить задачу! (https://javascript.ru/forum/misc/75441-pomogite-reshit-zadachu.html)

Ксения 80 09.10.2018 13:23

Помогите решить задачу!
 
Создать функцию, которая будет принимать массив продуктов и две цены.
Функция должна вернуть все продукты, цена которых находится в указанном диапазоне и отсортировать от дешевых к дорогим:

const products = [
{title:'prod1', price:5.2}, {title:'prod2', price:0.18},
{title:'prod3', price:15}, {title:'prod4', price:25},
{title:'prod5', price:18.5}, {title:'prod6', price:8},
{title:'prod7', price:19}, {title:'prod8', price:63}
];

SuperZen 09.10.2018 14:25

const products = [
    { title: 'prod1', price: 5.2 },
    { title: 'prod2', price: 0.18 },
    { title: 'prod3', price: 15 },
    { title: 'prod4', price: 25 },
    { title: 'prod5', price: 18.5 },
    { title: 'prod6', price: 8 },
    { title: 'prod7', price: 19 },
    { title: 'prod8', price: 63 }
  ]

  const foo = (products, price1, price2) => products.filter(product => {
    if (price1 > price2) {
      return product.price < price1 && product.price > price2
    } else {
      return product.price > price1 && product.price < price2
    }
  }).sort((productA, productB) => productA.price > productB.price)

  console.log(foo(products, 5, 10))
  console.log(foo(products, 10, 5))

j0hnik 09.10.2018 18:28

SuperZen,
19 строка
}).sort((productA, productB) => productA.price - productB.price)

Ксения 80 09.10.2018 19:41

Спасибо!)

SuperZen 09.10.2018 20:07

j0hnik, ты прав Аркадий )

Dilettante_Pro 10.10.2018 10:37

SuperZen,
В вашем примере теги JS и script
<script>
.................
</script>

не сочетаются - пример не запускается.
Или убрать <script>, или заменить JS на HTML


Часовой пояс GMT +3, время: 14:17.