使用 Lodash 循环访问 JavaScript 对象中的属性

2022-08-30 03:03:01

是否可以遍历 JavaScript 对象中的属性?例如,我有一个JavaScript对象,定义如下:

myObject.options = {
  property1: 'value 1',
  property2: 'value 2'
};

属性将动态添加到此对象。有没有办法让我只是循环并检查属性是否存在?如果是这样,如何?


答案 1

用。_.forOwn()

_.forOwn(obj, function(value, key) { } );

https://lodash.com/docs#forOwn

请注意,检查 ,就像在循环访问对象的属性时通常需要做的那样。 不执行此检查。forOwnhasOwnPropertyforIn


答案 2

是的,你可以,不需要洛达什...即

for (var key in myObject.options) {
  // check also if property is not inherited from prototype
  if (myObject.options.hasOwnProperty(key)) { 
    var value = myObject.options[key];
  }
}

编辑:接受的答案(_.forOwn())应该 https://stackoverflow.com/a/21311045/528262