javascript - 将 JSON 数组中的对象添加到 JavaScript 数组中,并重新映射键

标签 javascript jquery ajax

我从 ajax 请求返回以下 json

[
  {
    "id": "1",
    "task": "eat pizza",
    "username": "all"
  },
  {
    "id": "2",
    "task": "drink soda",
    "username": "all"
  }
]

我正在尝试将 json 中的特定数据片段添加到现有的 js 数组中。

this.$todoData2 = [
    {
        'id': '5',
        'text': 'Cheese',
        'done': false
    },
]

我需要添加 json key id 及其匹配值 - 例如:“id”:key,

我需要将 json key 任务添加为文本及其匹配值 - 例如:“text”:key

我需要添加一个“done”:“false”来设置,以便最终结果如下:

this.$todoData2 = [
    { 
        "id": "1",
        "text": "eat pizza",
        'done': false
    }
    { 
        "id": "2",
        "text": "drink soda",
        'done': false
    }
    {
        'id': '5',
        'text': 'Cheese',
        'done': false
    },
]

我没有尝试过的例子,因为我不知道从哪里开始。请记住,json 可能包含更多结果。

最佳答案

使用.forEach()迭代“更新”数组,而 destructuring您要使用的键/值对

创建你的对象,然后.push()它到数组

const $todoData2 = [
    {'id': '5', 'text': 'Cheese', 'done': false},
];

const update = [
  {"id": "1", "task": "eat pizza", "username": "all"},
  {"id": "2", "task": "drink soda", "username": "all"}
];

update.forEach(({id, task}) => {
  $todoData2.push({
    'id': id,
    'text': task,
    'done': false
  });
});

console.log($todoData2);

关于javascript - 将 JSON 数组中的对象添加到 JavaScript 数组中,并重新映射键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59689234/

相关文章:

javascript - screen.width 与设备实际分辨率

javascript - getLockHolders 返回一个 java.util.Vector 如何为特定用户解锁

jquery - 从此 ajax 调用获取 http 状态

javascript - 选择标签上的 Ajax 动画

php - 通过 json 编码 AJAX 发送和接收 imagepng 输出

javascript - jquery同步ajax仅在循环结束时附加到html

javascript - Ajax JSON异常意外的 token [

javascript - 有没有办法默认打开 'alphanumeric'键盘数字?

javascript - ASP.NET 阻止浏览器 'back'

javascript - 如何使用 jQuery 部分更新 DOM