首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在另一个数组中的数组中添加键值对?

如何在另一个数组中的数组中添加键值对?
EN

Stack Overflow用户
提问于 2022-08-17 15:57:18
回答 5查看 37关注 0票数 -1

//我有以下答复:

代码语言:javascript
复制
    [
  {
    "userId": 1,
    "id": 3,
    "title": "fugiat veniam minus",

"company": {
      "name": "Deckow-Crist",
      "catchPhrase": "Proactive didactic contingency",
      "bs": "synergize scalable supply-chains"
    }
  },


 {
    "userId": 2,
    "id": 4,
    "title": "fugiat veniam minus",

"company": {
      "name": "Deckow-Crist",
      "catchPhrase": "Proactive didactic contingency",
      "bs": "synergize scalable supply-chains"
    }
  },

 ]

//我希望将这个键值对添加到两个位置(“已完成”:false),使其看起来类似于以下响应:

代码语言:javascript
复制
[
  {
    "userId": 1,
    "id": 3,
    "title": "fugiat veniam minus",
     **"completed": false**

"company": {
      "name": "Deckow-Crist",
      "catchPhrase": "Proactive didactic contingency",
      "bs": "synergize scalable supply-chains"
       **"completed": false**
    }
  },


 {
    "userId": 2,
    "id": 4,
    "title": "fugiat veniam minus",
     **"completed": false**
     "company": {
      "name": "Deckow-Crist",
      "catchPhrase": "Proactive didactic contingency",
      "bs": "synergize scalable supply-chains"
     **"completed": false**
    }
  },  
  
]

.......................................................................................................................

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2022-08-17 16:04:06

Array.map可以解决你的问题。

代码语言:javascript
复制
const result = input.map(x => {
    x.completed = false;
    x.company = x.company.map(c => ({ ...c, completed: false }))
    return x;
})

您可以检查已完成的演示:

代码语言:javascript
复制
const input = [{
    "userId": 1,
    "id": 3,
    "title": "fugiat veniam minus",
    "company": [{
      "name": "Deckow-Crist",
      "catchPhrase": "Proactive didactic contingency",
      "bs": "synergize scalable supply-chains"
    }, {
      "name": "Deckow-Crist",
      "catchPhrase": "Proactive didactic contingency",
      "bs": "synergize scalable supply-chains"
    }]
  },
  {
    "userId": 2,
    "id": 4,
    "title": "fugiat veniam minus",
    "company": [{
      "name": "Deckow-Crist",
      "catchPhrase": "Proactive didactic contingency",
      "bs": "synergize scalable supply-chains"
    }, {
      "name": "Deckow-Crist",
      "catchPhrase": "Proactive didactic contingency",
      "bs": "synergize scalable supply-chains"
    }]
  },
];

const result = input.map(x => {
  x.completed = false;
  x.company = x.company.map(c => ({ ...c, completed: false }))
  return x;
})

console.log(result);

票数 1
EN

Stack Overflow用户

发布于 2022-08-17 16:10:52

如果希望保留原始数据并将数组视为map(),则可以使用扩展算子不可变的

代码语言:javascript
复制
const users = [
  {
    userId: 1,
    id: 3,
    title: "fugiat veniam minus",
    company: {
      name: "Deckow-Crist",
      catchPhrase: "Proactive didactic contingency",
      bs: "synergize scalable supply-chains",
    },
  },
  {
    userId: 2,
    id: 4,
    title: "fugiat veniam minus",
    company: {
      name: "Deckow-Crist",
      catchPhrase: "Proactive didactic contingency",
      bs: "synergize scalable supply-chains",
    },
  },
];

const revisedUsers = users.map(user => ({
    ...user,
    completed: false,
    company: {
        ...user.company,
        completed: false
    }
}))

console.log(`
-----------------
Result
-----------------`)
console.log(revisedUsers);
代码语言:javascript
复制
.as-console-wrapper { max-height: 100% !important; top: 0; }

票数 2
EN

Stack Overflow用户

发布于 2022-08-17 16:04:43

数组操纵

您可以使用Array.prototype.map将您的数组映射到一个新的数组,它遍历数组的每一项,并且可以从回调函数返回要添加到新数组中的任何类型的数据。

代码语言:javascript
复制
const mappedArray = yourArray.map(user => {
    user.completed = false;
    user.company.completed = false;
    return user;
});

使用扩展算子

代码语言:javascript
复制
const mappedArray = yourArray.map(user => {
    return {
        ...user,
        completed: false,
        company: {
            ...user.company,
            completed: false,
        }
    };
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73391535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档