как сделать фильтрация данного объекта, к примеру, по возрасту?
const teams = {
'0': {
Name: 'Vasa',
Age: 25
},
'1': {
Name: 'Alex',
Age: 20
}
}
console.log(teams);
Находил похожие тему, как к примеру вот эта, но слишком сложно.
Заранее спасибо.
Можно сделать так. Не самый универсальный пример, но все же
let result = {}
let teams = {
'0': {
Name: 'Vasa',
Age: 25
},
'1': {
Name: 'Alex',
Age: 20
}
}
for (i in teams) {
let team = teams[i]
// Ниже условие фильтрации
if (team.Age === 20) {
result[i] = team
}
}
console.log(result)
Будет лучше, если переменная teams будет массивом, тогда можно будет писать более гибкий и лаконичный код, например:
let teams = [{
Name: 'Vasa',
Age: 25
},{
Name: 'Alex',
Age: 20
}]
let result = teams.filter(team => team.Age === 20)
console.log(result)
const teams = {
'0': { Name: 'Vasa', Age: 25 },
'1': { Name: 'Alex', Age: 20 }
};
let filtered = filterBySubField(teams, 'Age', 20);
console.log(JSON.stringify(filtered, null, 2));
// возвращает копию объекта obj, содержащую только те поля-объекты, у которых поле subField === value
function filterBySubField(obj, subField, value) {
let result = {};
for (let k in Object.keys(obj)) {
if (obj[k][subField] === value)
result[k] = Object.assign({}, obj[k]);
}
return result;
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей