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

如何用JS或jQuery动态转换指定格式的对象数组

解决数组结构转换问题

这事儿用原生JavaScript就能轻松搞定,完全不用依赖jQuery。核心就是遍历原数组,把每个对象的键值对映射成你要的目标结构就行,直接上代码:

var A = [ { "111": ["A", "B", "C"] }, { "222": ["D", "E", "F"] } ];

var AA = A.map(item => {
  // 取出当前对象里唯一的键和对应的值数组
  const [key, values] = Object.entries(item)[0];
  return {
    text: key,
    state: "open",
    children: values.map(val => ({ text: val }))
  };
});

console.log(AA);

代码逻辑拆解:

  • 用Array.map()遍历原数组A的每一项,对每个对象做结构转换;
  • Object.entries(item)[0]专门针对你原数组里「每个元素只有单个键值对」的情况,直接取出键和对应的数组值;
  • 对值数组再用一次map(),把每个元素转成{ text: 元素值 }的格式,作为children的内容;
  • 固定state为"open",把原对象的键赋值给text属性,最后组合成目标结构的对象。

如果后续原数组里的对象可能出现多个键(虽然你当前例子里没有),只需要把内部逻辑改成遍历所有键值对即可,不过按你现在的需求,上面的代码完全够用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:13:43