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

如何将数组中models的字符串元素转换为{value, label}结构对象?

把数组中models的字符串元素转换为{value, label}格式对象

你可以通过数组的map()方法遍历原数组,对每个对象的models数组再次使用map(),将每个字符串转换为包含value和label字段的对象,同时保留原有的brand字段。这种方式不会修改原数组,返回一个新的处理后的数组。

完整实现代码

// 原数组
const hello = [
    {
      brand: "Acura",
      models: [
        "2.2CL",
        "2.3CL",
        "3.0CL",
        "3.2CL",
        "ILX",
        "Integra",
        "Legend",
        "MDX",
        "NSX",
        "RDX",
        "3.5 RL",
        "RL",
        "RSX",
        "SLX",
        "2.5TL",
        "3.2TL",
        "TL",
        "TSX",
        "Vigor",
        "ZDX"
      ]
    },
    {
      brand: "Alfa Romeo",
      models: [
        "164",
        "8C Competizione",
        "GTV-6",
        "Milano",
        "Spider"
      ]
    },
    {
      brand: "AMC",
      models: [
        "Alliance",
        "Concord",
        "Eagle",
        "Encore",
        "Spirit"
      ]
    }
];

// 转换处理
const transformedHello = hello.map(item => ({
  ...item,
  models: item.models.map(model => ({
    value: model,
    label: model
  }))
}));

console.log(transformedHello);

代码说明

  • 外层hello.map():遍历原数组中的每个品牌对象,返回一个新的对象。
  • ...item:使用扩展运算符保留原对象的所有字段(这里主要是brand)。
  • 内层item.models.map():遍历当前对象的models数组,将每个字符串转换为{value: 字符串, label: 字符串}的格式。

如果需要直接修改原数组(不推荐,会改变原始数据),可以使用forEach():

hello.forEach(item => {
  item.models = item.models.map(model => ({
    value: model,
    label: model
  }));
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 22:10:26