如何将数组推入对象数组

时间:2020-10-12 06:39:25

标签: javascript arrays json

这是来自api的结果

[
  {
    "order": 0,
    "section_menu_id": 3
  },
  {
    "order": 1,
    "section_menu_id": 1
  },
]

这是初始数据

{
  "ordering_data": [
    {
      "order": null,
      "section_menu_id": null
    }
  ]
}

这是我的期望

{
  "ordering_data": [
    {
      "order": 0,
      "section_menu_id": 3
    },
    {
      "order": 1,
      "section_menu_id": 1
    },
  ]
}

有人可以告诉我如何达到预期效果。提前感谢

2 个答案:

答案 0 :(得分:0)

const apiResult = [
  {
    "order": 0,
    "section_menu_id": 3
  },
  {
    "order": 1,
    "section_menu_id": 1
  },
]

const initialData = {
  "ordering_data": [
    {
      "order": null,
      "section_menu_id": null
    }
  ]
}

initalData.ordering_data = apiResult;

答案 1 :(得分:0)

检查以下代码段。为了向数组添加(推送)(而不是覆盖变量值),您应该使用JS数组push方法,如代码段所示: (否则,这只是对该变量的新赋值)

const res = [
  {
    "order": 0,
    "section_menu_id": 3
  },
  {
    "order": 1,
    "section_menu_id": 1
  }
];

const objContainer = {
  "ordering_data": [
    {
      "order": null,
      "section_menu_id": null
    }
  ]
};

//  objContainer["ordering_data"].splice(0,1); // (uncomment to get the result you wanted)
res.forEach(obj => objContainer.ordering_data.push(obj));
console.log(objContainer)