JS - добавить новое свойство и значение на один из объектов - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть список объектов

const array = [
    {club: "Club A", number: 12},
    {club: "Club B", number: 12}
]

Я хочу добавить новое свойство в один из объектов

member: ["a", "b"]

Было бы

const newArray = [
    {club: "Club A", number: 12, member: ["a", "b"]},
    {club: "Club B", number: 12}
]

Пробовал с картой

const newArray = array.map(obj => check if obj.club ==="Club A" )

Ответы [ 4 ]

1 голос
/ 03 апреля 2019

Вы можете просто назначить новое свойство.

С классическим назначением:

const
    array = [{ club: "Club A", number: 12 }, { club: "Club B", number: 12 }],
    member = ["a", "b"];
    
array.find(({ club }) => club === "Club A").member = member;

console.log(array);
.as-console-wrapper { max-height: 100% !important; top: 0; }

Или взять Object.assign

const
    array = [{ club: "Club A", number: 12 }, { club: "Club B", number: 12 }],
    member = ["a", "b"];
    
Object.assign(array.find(({ club }) => club === "Club A"), { member });

console.log(array);
.as-console-wrapper { max-height: 100% !important; top: 0; }
0 голосов
/ 03 апреля 2019

Вы можете использовать find(), чтобы получить элемент, который вы хотите отредактировать. Затем просто присвойте ему свойство:

const array = [
    {club: "Club A", number: 12},
    {club: "Club B", number: 12}
]

// find the correct item
let item = array.find(item => item.club == "Club A")
item.member =  ["a", "b"]

console.log(array)
0 голосов
/ 03 апреля 2019

Вы можете использовать Object.assign на карте

const array = [
    {club: "Club A", number: 12},
    {club: "Club B", number: 12}
]

const member = {member: ["a", "b"]};

const newArray = array.map(obj => obj.club === 'Club A' ? Object.assign(obj, member) : obj);
console.log(newArray);
0 голосов
/ 03 апреля 2019

Вы можете использовать map и разветвление объекта

const array = [{club: "Club A", number: 12},{club: "Club B", number: 12}]
let member = ["a", "b"]

const newArray = array.map(obj => obj.club === "Club A" ? {...obj,member} : obj)

console.log(newArray)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...