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

JavaScript中如何将生成结构的Children属性从数组改为对象

解决方法

你当前代码中Children和padStyle属性初始值都是数组类型,序列化/控制台打印时才会显示[Array],直接修改对应属性的初始值为对象即可匹配期望输出。

修改后的完整代码如下:

const placeholder = (index, isRootDirectory) => {
  const create = {
    id: index,
    title: null,
    location: index,
    isRootDirectory,
    // 从数组格式改为直接对象格式
    padStyle: {
      icon: null,
      color: null,
    },
    UUID: null,
    action: null,
    // 从空数组改为空对象
    Children: {},
  };

  return create;
};

const createLayout = () => {
  let root = {
    info: "Custom Layout",
    // 根节点的Children仍为数组存多个子节点,和期望输出保持一致
    Children: [],
  };

  for (let i = 0; i < 2; i++) {
    root.Children.push(placeholder(i, true));
  }

  console.log(JSON.stringify(root));
};

如果后续你需要给单个节点存储多个子节点,也可以在Children对象中用键值对存储,比如用子节点id作为key,相比数组可以更快通过id定位对应子节点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 07:24:07