JSON forEach获取密钥和值

时间:2015-09-24 00:12:16

标签: javascript

我在名为forEach的JSON对象上有以下obj循环:

Object.keys(obj).forEach(function(){
});

如何对对象内的每个项目console.logkey进行value?像这样:

Object.keys(obj).forEach(function(k, v){
    console.log(k + ' - ' + v);
});

这可能吗?

7 个答案:

答案 0 :(得分:41)

使用带键的索引表示法。

Object.keys(obj).forEach(function(k){
    console.log(k + ' - ' + obj[k]);
});

答案 1 :(得分:5)

假设obj是预先构造的对象(而不是JSON字符串),您可以通过以下方式实现此目的:

Object.keys(obj).forEach(function(key){
   console.log(key + '=' + obj[key]);
});

答案 2 :(得分:3)

另一种简单的方法是使用以下语法迭代对象,保持对键和值的访问:

for(var key in object){
  console.log(key + ' - ' + object[key])
}

所以对你的:

for(var key in obj){
  console.log(key + ' - ' + obj[key])
}

答案 3 :(得分:1)

使用arrow functions遍历对象

ES6

Object.keys(myObj).forEach(key => {
    console.log(key + ' - ' + myObj[key]) // key - value
})

ES7

Object.entries(myObj).forEach(([key, value]) => {
    console.log(key + ' - ' value) // key - value
})

ES8

Loop through objects with ES8 with explanation

答案 4 :(得分:0)

尝试这样的事情:

var prop;
for(prop in obj) {
    if(!obj.hasOwnProperty(prop)) continue;

    console.log(prop + " - "+ obj[prop]);
}

答案 5 :(得分:0)

我会这样做。 假设,我有电影的 JSON ...

movies.forEach((obj) => {
  Object.entries(obj).forEach(([key, value]) => {
    console.log(`${key} ${value}`);
  });
});

答案 6 :(得分:0)

forEachObject.entries()结合使用。

const WALLPAPERS = [{
  WALLPAPER_KEY: 'wallpaper.image',
  WALLPAPER_VALID_KEY: 'wallpaper.image.valid',
}, {
  WALLPAPER_KEY: 'lockscreen.image',
  WALLPAPER_VALID_KEY: 'lockscreen.image.valid',
}];

WALLPAPERS.forEach((obj) => {
  for (const [key, value] of Object.entries(obj)) {
    console.log(`${key} - ${value}`);
  }
});