首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript中的函数映射

Javascript中的函数映射
EN

Stack Overflow用户
提问于 2021-09-21 14:14:42
回答 2查看 71关注 0票数 0

我正在学习Javascript,并试图使Map函数只打印名称。我试着去做,但我没有成功。我希望能为你找到一个解决办法。谢谢

代码语言:javascript
复制
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
  }))

})

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-09-21 14:19:23

.map()将数据映射到一个新的数组中。你需要.forEach()

因为你有一个对象数组。并且每个对象都有多个键,您可以使用Object.keys()作为内部对象。

代码语言:javascript
复制
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);
  });

})

票数 0
EN

Stack Overflow用户

发布于 2021-09-21 14:19:14

您不会在第二个映射中返回任何值。

返回名称,它就会起作用:

代码语言:javascript
复制
const x = [{
  a: {
    name: "X",
    age: "25"
  },
  b: {
    name: "Y",
    age: "30"
  }
}]

x.forEach((el) => {
  console.log(Object.values(el).map(({ name }) => name))
})

注意:用forEach替换您的第一张地图更合适

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69270477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档