列出JavaScript对象中具有空(未定义)值的属性
如果我有一个JavaScript对象:列出JavaScript对象中具有空(未定义)值的属性,javascript,Javascript,如果我有一个JavaScript对象: var object = { propertyOne: undefined, propertyTwo: 'defined', propertyThree: 'defined', propertyFour: undefined } 如何创建一个方法来列出具有未定义值的属性(在本例中为propertyOne和propertyFour) 我对JavaScript非常陌生,到目前为止,我已经做到了: function getEmptyProper
var object = {
propertyOne: undefined,
propertyTwo: 'defined',
propertyThree: 'defined',
propertyFour: undefined
}
如何创建一个方法来列出具有未定义值的属性(在本例中为propertyOne和propertyFour)
我对JavaScript非常陌生,到目前为止,我已经做到了:
function getEmptyProperties(object) {
var emptyProps = [];
for (var property in object) {
if (object.property === undefined) {
emptyProps += property
}
}
return emptyProps
}
但这将返回所有属性,不管它们是否未定义
我知道我在JS中遗漏了一些重要的东西,但我无法理解。请帮忙?用以下命令迭代对象:
var getEmptyProperties = function(object) {
var emptyProps = [];
for (var property in object) {
if (object[property] === undefined) {
emptyProps.push(property);
}
}
return emptyProps
}
Object.keys(object).forEach(function(val, i){
if (object[val] === undefined){
//do things to save the properties you want to save or delete
}
})
对于基本面,我可能会建议。它是免费的。
代码中存在大量语法错误,如果阅读前6章,这些错误可能会得到修复。您可以使用,仅获取未定义的属性数组:
var obj = {
propertyOne: undefined,
propertyTwo: 'defined',
propertyThree: 'defined',
propertyFour: undefined
};
var undefProps = Object.keys(obj).filter(function (key) {
return obj[key] === undefined;
});
// undefProps: ["propertyOne", "propertyFour"]
还有一个
您应该解释这段代码的作用和方式,以便更容易理解。
var undefProps = Object.keys(obj).filter(k => obj[k] === undefined);