[英]Filter multiple specific properties from an array of objects into a new array
我有一大堆对象,例如
let arr = [
{name: "name1" , surname: "surname1", age: "22"},
{name: "name2" , surname: "surname2", age: "23"},
{name: "name3" , surname: "surname3", age: "24"},
]
但我需要过滤它,所以它会是
arr = [
{name: "name1" , surname: "surname1"},
{name: "name2" , surname: "surname2"},
{name: "name3" , surname: "surname3"},
]
我该怎么做?
使用Array#map
:
const arr = [ {name: "name1", surname: "surname1", age: "22"}, {name: "name2", surname: "surname2", age: "23"}, {name: "name3", surname: "surname3", age: "24"} ]; const res = arr.map(({ name, surname }) => ({ name, surname })); console.log(res)
鉴于您要过滤多个属性,您可以将要删除的属性存储在数组中,然后在map
ing 并删除属性时循环遍历它:
const propertiesToFilter = ['age'] let arr = [ {name: "name1", surname: "surname1", age: "22"}, {name: "name2", surname: "surname2", age: "23"}, {name: "name3", surname: "surname3", age: "24"}, ] const res = arr.map(e => (propertiesToFilter.forEach(f => delete e[f]), e)) console.log(res)
使用简单for-of
和对象解构
for(person of arr){
const {name, surname} = person;
res.push({name, surname})
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.