从Javascript对象中删除空白属性
如何删除JavaScript对象中undefined
或null
JavaScript对象中的所有属性?
(问题与此数组类似)
回答:
您可以遍历对象:
var test = { test1 : null,
test2 : 'somestring',
test3 : 3,
}
function clean(obj) {
for (var propName in obj) {
if (obj[propName] === null || obj[propName] === undefined) {
delete obj[propName];
}
}
}
clean(test);
如果您担心此属性删除不会使对象的proptype链运行起来,则还可以:
function clean(obj) { var propNames = Object.getOwnPropertyNames(obj);
for (var i = 0; i < propNames.length; i++) {
var propName = propNames[i];
if (obj[propName] === null || obj[propName] === undefined) {
delete obj[propName];
}
}
}
有关null与未定义的一些注意事项:
test.test1 === null; // truetest.test1 == null; // true
test.notaprop === null; // false
test.notaprop == null; // true
test.notaprop === undefined; // true
test.notaprop == undefined; // true
以上是 从Javascript对象中删除空白属性 的全部内容, 来源链接: utcz.com/qa/425722.html