Не пойму почему не прорабатывает как нужно функция в js:
let teams = [{
Name: 'Vasa',
Age: 25
},{
Name: 'Alex',
Age: 20
},{
Name: 'Mark',
Age: 20
}]
function filterCountry(object,key) {
var arr1 = [];
key.forEach(function(item, i, arr) {
var result = object.filter(team => team.Age === item)
arr1.push(result[0]);
});
return arr1;
}
var result1 = filterCountry(teams, [25,20]);
console.log(result1);
Почему функция .filter выбирает лишь один элемент, а не два?
Как сделать так, чтобы вывело все правильно?
Ожидаемый рез:
result1 = [{
Name: 'Vasa',
Age: 25
},{
Name: 'Alex',
Age: 20
},{
Name: 'Mark',
Age: 20
}]
filter
выбирает два, вы берете только один. result[0]
.
Как вариант:
let teams = [{
Name: 'Vasa',
Age: 25
}, {
Name: 'Alex',
Age: 20
}, {
Name: 'Mark',
Age: 20
}, {
Name: 'Clark',
Age: 22
}]
//----------------------------------------------------------------
function filterCountry(object, key) {
var arr1 = [];
key.forEach(function(item, i, arr) {
var result = object.filter(team => team.Age === item)
if (result.length == 1)
arr1.push(result[0]);
else {
for (let i of result) {
arr1.push(i);
}
}
});
return arr1;
}
var result1 = filterCountry(teams, [25, 20]);
console.log(result1);
let teams = [{
Name: 'Vasa',
Age: 25
}, {
Name: 'Alex',
Age: 20
}, {
Name: 'Mark',
Age: 20
}]
function filterCountry(object, key) {
return object.filter(team => key.some(age => team.Age == age));
}
var result1 = filterCountry(teams, [25, 20]);
console.log(result1);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Разрабатываю бота на nodejsНужно чтобы бот выводил 1 сообщение раз в 5-10 минут например
В переменную Vue записан тег (переменная SomeTag и тег <a href="test">топ ссылка</a>)При выводе <div>{{SomeTag}}</div> выводит: <a href="test">топ ссылка</a>,...