2013-10-22 201 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/