Как объяснить функции какое значение мы передали?
Объект передаем такого типа
obj = { "Апельсины": {"price": 4,"kolvo": 2},"Бананы": {"price": 2,"kolvo": 0} }
Но выведет результат и с ценой и количеством
var items = {
"Апельсины": {
"price": 4,
"kolvo": 2
},
"Бананы": {
"price": 2,
"kolvo": 0
}
};
notification(items, (kolvo) => kolvo === 2)
function notification(items, condition) {
for (const name in items) {
let price = items[name].price
let kolvo = items[name].kolvo
if (condition(price)) {
console.log(name + price)
} else if (condition(kolvo)) {
console.log(name + kolvo)
}
}
}
Никак. Надо завести две функции - одна проверяет условие для цены, а вторая - для количества.
Если хочется поизвращаться, то можно дополнительный параметр передать, либо и с именем поля, либо просто флаг. Но это ннеудобно и неправильно.
var items = {
"Апельсины": {
"price": 4,
"kolvo": 2
},
"Бананы": {
"price": 2,
"kolvo": 0
}
};
// check price
notification(items, item => item.price === 2);
// check quantity
notification(items, item => item.kolvo === 2);
function notification(items, condition) {
for (const name in items) {
if (condition(items[name])) {
console.log(name, JSON.stringify(items[name]));
}
}
}
var items = {
"Апельсины": {
"price": 4,
"kolvo": 2
},
"Бананы": {
"price": 2,
"kolvo": 0
}
};
notification(items, objCheck => {
for(var prop in objCheck)
return objCheck[prop] === 2;
});
function notification(items, condition) {
for (const name in items) {
var price = items[name].price;
if (condition({price})) {
console.log(name, JSON.stringify(items[name]));
}
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Не могу понять, почему выходит такой ответ в этом цикле, скажите пожалуйста