我正在学习Javascript,并试图使Map函数只打印名称。我试着去做,但我没有成功。我希望能为你找到一个解决办法。谢谢
const x = [{
a: {
name: "X",
age: "25"
},
b: {
name: "Y",
age: "30"
}
}]
Object.values(x).map((el) => {
console.log(Object.values(el).map((el2) => {
el2
}))
})
发布于 2021-09-21 14:19:23
.map()将数据映射到一个新的数组中。你需要.forEach()。
因为你有一个对象数组。并且每个对象都有多个键,您可以使用Object.keys()作为内部对象。
const x = [{
a: {
name: "X",
age: "25"
},
b: {
name: "Y",
age: "30"
}
}]
x.forEach((el) => {
let keys = Object.keys(el);
//console.log(keys);
keys.forEach((innerKey) => {
console.log(el[innerKey].name);
});
})
发布于 2021-09-21 14:19:14
您不会在第二个映射中返回任何值。
返回名称,它就会起作用:
const x = [{
a: {
name: "X",
age: "25"
},
b: {
name: "Y",
age: "30"
}
}]
x.forEach((el) => {
console.log(Object.values(el).map(({ name }) => name))
})
注意:用forEach替换您的第一张地图更合适
https://stackoverflow.com/questions/69270477
复制相似问题