在对象上使用foreach?

时间:2014-01-25 04:51:57

标签: javascript arrays

如果我使用foreach循环,如下所示,它会运行吗?我知道foreach适用于数组,但看到JavaScript中的对象与关联数组类似,我认为它可能是有可能的。 注意:这不是有效的生产代码。这只是我想要做的一个例子。

var target = {};
target.variable.x == 'y';
target.variable.x.foreach(function(e, i, a) {console.log('something happens')});

1 个答案:

答案 0 :(得分:0)

function logArrayElements(element, index, array) {
    console.log("[" + index + "] = " + element);
}

var target = {};
target.variable = {};
target.variable.x = ["y"]; // Array!

var OBJ = target.variable.x;

OBJ.forEach(logArrayElements); // "[0] = y"

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach

......确切地说:Array。对于对象,这可能会有所帮助

var target = {};
target.variable = {};
target.variable.x = 'y';

var OBJ = target.variable;


for(var key in OBJ){
  if(OBJ.hasOwnProperty(key)){
    console.log( key +' '+ OBJ[key]);  // x y
  }
}