[英]JS - Add a new property and value on one of the objects
I have a list of objects 我有一个对象清单
const array = [
{club: "Club A", number: 12},
{club: "Club B", number: 12}
]
I want to add a new property in one of the objects 我想在其中一个对象中添加一个新属性
member: ["a", "b"]
It would be 这将是
const newArray = [
{club: "Club A", number: 12, member: ["a", "b"]},
{club: "Club B", number: 12}
]
Tried with map 尝试过地图
const newArray = array.map(obj => check if obj.club ==="Club A" )
You could just assign the new property. 您可以只分配新属性。
With a classic assignment: 经典作业:
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; }
Or take Object.assign
或采用
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; }
You can use map and object destrcturing 您可以使用地图和对象分解
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)
You could use Object.assign in map 您可以在地图中使用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);
You can use find()
to get the item you want to edit. 您可以使用
find()
获得要编辑的项目。 Then just assign the property to it: 然后只需为其分配属性:
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.