定义数据
var arr=[
{name:'aaa',age:18,address:'xxxxxx'},
{name:'bbb',age:20,address:undefined},
{name:'ccc',age:30,address:undefined}
]
需求描述:
在arr中,把所有address值为undefined的字段删除
预期效果如下
实现方法
var tmp = {}
tmp = arr.map((item, index) => {
for (var key in item) {
if (item[key] === undefined) {
delete item[key]
}
}
return item
})
console.log(tmp)
/*
[
{ name: 'aaa', age: 18, address: 'xxxxxx' },
{ name: 'bbb', age: 20 },
{ name: 'ccc', age: 30 }
]
*/
*注:此方法只适用于没有嵌套的数组对象
同理,如果业务需求遇到需要删除类似address:''
的字段时,只需将item[key]===undefined
修改为item[key]===''
即可