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

如何使用ES6添加属性并将数组转换为目标嵌套对象数组

ES6 数组转指定结构对象数组实现

核心用ES6的Array.map()方法做一对一映射转换,完全匹配你的转换需求:

  • 遍历原数组每个元素,默认生成携带text字段的对象,text值对应当前遍历的原始元素
  • 当元素值严格等于'Dog'时,给生成的对象追加extraClasses字段,值为["ti-extra"]

基础易读写法

逻辑直白,适合后续维护:

const sourceArr = ['cat', 'Dog', 'monkey'];
const targetArr = sourceArr.map(item => {
  const itemObj = {
    text: item
  };
  if (item === 'Dog') {
    itemObj.extraClasses = ["ti-extra"];
  }
  return itemObj;
});

简洁写法

用ES6展开运算符实现条件属性注入,代码更短:

const targetArr = sourceArr.map(item => ({
  text: item,
  ...(item === 'Dog' ? { extraClasses: ["ti-extra"] } : {})
}));

执行后得到的targetArr和你要求的输出结构完全一致:

[
  {"text":"cat"},
  {"text":"Dog","extraClasses":["ti-extra"]},
  {"text":"monkey"}
]

提示:如果后续需要不区分大小写匹配Dog,把判断条件改成item.toLowerCase() === 'dog'即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 20:43:10