我正在尝试使用 EcmaScript 迭代以下地图:
const rows =
{
"Bird": 2,
"Cat": 6,
"Dog": 11
}
然而,虽然有一些方法可以解决使用 for 循环的问题,但我找不到使用 forEach 或 map 函数的合适解决方案。这是几个尝试之一:
rows.map((value, key) => {
console.log(value, key)
})
那么,我缺少什么?
迭代一个对象,你可以使用
Object.entries
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries
const rows = {
"Bird": 2,
"Cat": 6,
"Dog": 11
}
Object.entries(rows).forEach(([key, value]) => console.log({ key, value }))
如果你真的想使用 .map 你可以用 Object.entries 这样做
const rows =
{
"Bird": 2,
"Cat": 6,
"Dog": 11
}
const result = Object.entries(rows).map(x => {
console.log("key: " + x[0] + " value: " + x[1]);
})
你在对象上使用 map() 函数。你必须使用 for in 循环遍历一个对象。
const rows={
"bird”:2,
"cat” :6,
"dog" 11
}
for(key in rows){
let value;
value=rows[key];
console.log(` ${key}in rows=> ${value}`)
}