我在名为forEach
的JSON对象上有以下obj
循环:
Object.keys(obj).forEach(function(){
});
如何对对象内的每个项目console.log
和key
进行value
?像这样:
Object.keys(obj).forEach(function(k, v){
console.log(k + ' - ' + v);
});
这可能吗?
答案 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
答案 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)
将forEach与Object.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}`);
}
});