You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript使用Map方法打印嵌套对象name属性失败如何解决

实现方案

问题分析

  • 你定义的变量x本身是数组类型,不需要额外调用Object.values()处理,直接遍历数组元素即可
  • 内层map的回调函数没有设置返回值,无法获取到name属性的结果

可行代码

const x = [{
  a: {
    name: "X",
    age: "25"
  },
  b: {
    name: "Y",
    age: "30"
  }
}]

// 方案1:用map提取所有name后批量打印
const allNames = x.flatMap(item => Object.values(item).map(innerObj => innerObj.name))
allNames.forEach(name => console.log(name))
// 输出结果:
// X
// Y

// 方案2:遍历过程中直接打印
x.forEach(item => {
  Object.values(item).map(innerObj => innerObj.name).forEach(name => console.log(name))
})

逻辑说明

  • flatMap会先执行外层遍历的逻辑,再自动把内层返回的数组合并为一维数组,避免得到嵌套格式的结果
  • 内层map明确返回innerObj.name,即可提取到所有内层对象的name属性
  • 如果你不需要保留提取到的name数组,只是要实现打印需求,也可以把内层map替换为forEach直接操作

内容的提问来源于stack exchange,提问作者user15815618

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 11:15:01