Вы можете создать один объект, где ключи являются индексами элементов, где age >= 30
, а затем использовать этот объект в качестве таблицы ha sh для фильтрации.
const data = {
name: ['David', 'Juan', 'Simon', 'Lukas'],
age: [41, 22, 33, 50],
salary: [100, 80, 120, 150]
}
const hash = data.age.reduce((r, e, i) => {
if (e >= 30) r[i] = true;
return r;
}, {})
for (let i in data) {
data[i] = data[i].filter((_, j) => hash[j])
}
console.log(data)
Вы также можете использовать другую структуру данных для получения массива объектов с помощью метода reduce
, а затем просто применить фильтр.
const data = {
name: ['David', 'Juan', 'Simon', 'Lukas'],
age: [41, 22, 33, 50],
salary: [100, 80, 120, 150]
}
const result = Object
.entries(data)
.reduce((r, [k, v]) => {
v.forEach((e, i) => {
if (!r[i]) r[i] = {}
r[i][k] = e;
})
return r;
}, [])
.filter(({ age }) => age >= 30)
console.log(result)