2013-10-22 113 views
0

對象我有像循環通過在JavaScript

{ a: 2.078467321618, 
    b :13521.4, 
    c : 4503.9, 
    more...} 

的對象(在調試模式)

欲通過對象和獨立的鍵和值的迴路; 我該如何做到這一點?

+2

嚴肅的問題:你試過Google嗎?您可以複製/粘貼您的標題並獲取足夠多的參考文件... –

回答

1

做另一種方式是通過的foreach使其:

for (var key in obj) { 
    if (obj.hasOwnProperty(key)) { 
     // do something with the key and obj[key], which is val 
    } 
} 

注:這裏我們檢查,如果密鑰屬於我們的對象,而不是它的原型通過hasOwnProperty方法。

1
Object.keys(obj).forEach(function(key) { 
    var val = obj[key]; 
    ... 
}); 
+2

這意味着'keys'和'forEach'已經實現,它可以在大多數現代瀏覽器中使用。但對於IE,你將需要IE9或更高版本。有關ECMA5兼容性的更多信息,請參閱http://kangax.github.io/es5-compat-table/。 – Chris

0
Try the following: 

for(var key in object){ 
    var value = object[key]; 
    //now you have access to "key" and "value" 
} 
0

嘗試這樣的事情

for(var key in object){ 
    alert(key);// will give key 
    alert(object[key]);// will give value 
} 
0

這其實很簡單:

for (var key in object) { 
    // do something with object[key] 
} 
0

試試這個

var sum = 0; 
var obj = {prop1: 5, prop2: 10, prop3: 15}; 

for each (var item in obj) 
{ 
sum += item; 
} 

結果的總和= 5 + 10 + 15

0

嘗試以下代碼:

var keys=Array(); 
var values = Array(); 

for (var key in obj) { 
//has own property is checked to bypass inherited properties like prototype  
if (obj.hasOwnProperty(key)) { 
    keys.push(key)'; 
    values.push(obj[key]); 

    } 
} 

//下面是分開鍵和值,做任何你想要使用jQuery與他們

console.log(keys); 
console.log(values); 
0

做:

var obj = { a: 2.078467321618, b :13521.4, c : 4503.9 }; 
var keyArr = []; 
var valArr = []; 

//iterate obj 
$.each(obj, function(k, v) { 
    //add items to the keyArr from obj's keys. 
    keyArr.push(k); 
    //add items to the varArr from obj's keys. 
    valArr.push(v); 
}); 

//show the result 
alert(keyArr); 
alert(valArr); 

看到演示: http://jsfiddle.net/bauangsta/KdZrA/