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

如何提取对象内子对象的名称数组?merge()与map方法尝试无效

解决方法

先纠正原始代码的语法错误

你写的obj存在语法问题:JavaScript对象要求键值对结构,直接在{}里放两个无键对象会报错。分两种场景处理:

场景1:本意是数组(最可能的情况)

把外层{}改成[],定义合法数组:

const arr = [
  {id: 1, name: 'Jane'},
  {id: 2, name: 'Lim'}
];

直接用map提取name属性即可:

const result = arr.map(item => item.name);
// 输出:['Jane', 'Lim']

场景2:本意是带键的对象

如果你的数据确实是带自定义键的对象结构:

const obj = {
  item1: {id: 1, name: 'Jane'},
  item2: {id: 2, name: 'Lim'}
};

先用Object.values()取出对象的所有值(转为数组),再用map提取属性:

const result = Object.values(obj).map(item => item.name);
// 输出:['Jane', 'Lim']

为什么之前的方法无效

  • 原始代码语法错误,导致obj不是合法的数组/对象,map无法正常调用
  • merge()是用于合并对象的方法,和提取属性无关,自然达不到目标

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 18:20:42