2014-01-25 64 views
-1

如果我使用如下所示的foreach循環,它會運行嗎?據我所知,foreach是爲數組而設,但在JavaScript中看到的對象與關聯數組類似,我認爲這可能是可能的。 注意:這不是活動的生產代碼。這只是我想要做的一個例子。在對象上使用foreach?

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

'它會運行嗎?'運行它,你會發現。 –

+0

而不是要求你試着找出 –

+0

請注意,你的例子並不是建議迭代一個'Object',而是一個'String' - ''y''。但是,不,'forEach()'默認沒有爲'Object's(或字符串)定義。 –

回答

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 
    } 
} 
相關問題