列出JavaScript对象中具有空(未定义)值的属性

列出JavaScript对象中具有空(未定义)值的属性,javascript,Javascript,如果我有一个JavaScript对象: var object = { propertyOne: undefined, propertyTwo: 'defined', propertyThree: 'defined', propertyFour: undefined } 如何创建一个方法来列出具有未定义值的属性(在本例中为propertyOne和propertyFour) 我对JavaScript非常陌生,到目前为止,我已经做到了: function getEmptyProper

如果我有一个JavaScript对象:

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);