如何从对象中删除所有未定义的属性?
换句话说,将其转换为:
{
a: 'asd'
b: undefined
}
对此:
{
a: 'asd'
}
答案 0 :(得分:1)
遍历键并使用delete
operator删除属性值是否为undefined
。
let data = {
a: 'asd',
b: undefined
}
Object.keys(data).forEach(k => {
if (data[k] === undefined) delete data[k];
})
// or one liner
// Object.keys(data).forEach(k => data[k] === undefined && delete data[k])
console.log(data);
或使用for...in
迭代器。
let data = {
a: 'asd',
b: undefined
}
for(let k in data){
if (data[k] === undefined) delete data[k];
}
console.log(data);
答案 1 :(得分:1)
您可以循环查找对象键并通过delete方法删除。
let obj = {
a: 'asd',
b: undefined
}
Object.keys(obj).forEach(key => obj[key] === undefined ? delete obj[key] : '');
console.log(obj)