我有像
这样的对象let sample = {a:5, b:3 , c:7, d:8}
Object.entries(sample)
现在我将得到一个长度为4的数组
[ [a,5], [b,3], [c,7] , [d,8] ]
其中键和值将作为数组值。
现在我需要将值打印为
答案 0 :(得分:1)
我找到了解决方案:
let sample = {a:5, b:3, c:7, d:8};
for (const [key,value] of Object.entries(sample)) {
// return whatever you need
console.log(`${key} holds the value ${value}`)
}
我希望这能解决问题
答案 1 :(得分:1)
您发布的答案在技术上是正确的,但它只适用于最现代化的浏览器。
例如,任何版本的IE都不支持Object.entries。 for...of也不是。let statement。 Object.keys至少需要IE11。
如果您关心在旧版浏览器中运行的代码,请考虑使用eg。 forEach代替了Object.entries,var而不是for ...和this issue而不是let。
此代码将执行相同的操作,但在IE9中运行正常:
var sample = {a:5, b:3 , c:7, d:8};
var keys = Object.keys(sample);
keys.forEach(function(key){
console.log(key + " holds the value " + sample[key]);
});
即使上面的代码太过现代,你也可以采用以下方法:
var sample = {a:5, b:3 , c:7, d:8};
for (var key in sample) {
console.log(key + " holds the value " + sample[key]);
}
该代码甚至可以在IE6中使用!