在JavaScript中循环遍历对象

在JavaScript中循环遍历对象,javascript,Javascript,我有一个像 { a: 2.078467321618, b :13521.4, c : 4503.9, more...} (在调试模式下) 我想在对象中循环并分离键和值; 如何实现这一点?另一种方法是通过foreach实现: Object.keys(obj).forEach(function(key) { var val = obj[key]; ... }); for (var key in obj) { if (obj.hasOwnProperty(key

我有一个像

{ a: 2.078467321618,
  b :13521.4,
  c : 4503.9,
  more...}
(在调试模式下)

我想在对象中循环并分离键和值;
如何实现这一点?

另一种方法是通过foreach实现:

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

注意:在这里,我们通过
hasOwnProperty
方法检查键是否属于我们的对象,而不是它的原型。

尝试类似的方法

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

其实很简单:

for(对象中的变量键){
//用对象[键]做某事
}
试试这个

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

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

结果是sum=5+10+15

请尝试以下代码:

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]);

    }
}
//以下是分隔的键和值,请随意使用它们

console.log(keys);
console.log(values);
使用jquery:

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);
请参见演示:

这意味着
forEach
将在大多数现代浏览器中实现。但对于IE,您需要IE9或更高。有关ECMA5兼容性的更多信息,请参阅。严重问题:您尝试过谷歌吗?你可以复制/粘贴你的标题,并获得足够多的参考资料。。。
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);