繁体   English   中英

将数组添加到现有对象

[英]Add an array to an existing object

“我有一个数组:

myArray = []

我正在遍历一些数据并将其添加到我的数组中:

myArray.push(listItem)

然后我想向这个数组添加一个对象数组。 最终的结果是在这些对象中的每一个内部都有一个图像路径数组

0:
id: "8okCSIfrSTugwBW4Oa0Q"
images: [{…}]
title: "My Title 1"
1:
id: "8okCSIfrSTugwBW4Oa023"
images: [{…}]
title: "My Title 2"

我尝试了以下方法:

var newIndex = index - 1;
var imagesArray = [];
imagesArray.push(imageString);
this.myArray[newIndex]["images"] = imagesArray;

只需在yourArray find所需的对象并分配所需的值:

 let yourArray = []; yourArray.push({id: "8okCSIfrSTugwBW4Oa0Q", title: "My Title 1"}); yourArray.push({id: "8okCSIfrSTugwBW4Oa023", title: "My Title 2"}); yourArray.find(f=>f.id = "8okCSIfrSTugwBW4Oa0Q").images = []; console.log(yourArray);

或者更安全的版本,检查所需的对象是否存在:

 let yourArray = []; yourArray.push({id: "8okCSIfrSTugwBW4Oa0Q", title: "My Title 1"}); yourArray.push({id: "8okCSIfrSTugwBW4Oa023", title: "My Title 2"}); let desiredObject = yourArray.find(f=>f.id = "8okCSIfrSTugwBW4Oa0Q"); if (desiredObject) desiredObject.images = []; console.log(yourArray);

更新:

如果您无权访问 addImage 函数中的 ID,那么这是通过索引的方式:

yourArray[0].images = [];

此外,您可以通过findIndex方法查找索引:

 let yourArray = []; yourArray.push({id: "8okCSIfrSTugwBW4Oa0Q", title: "My Title 1"}); yourArray.push({id: "8okCSIfrSTugwBW4Oa023", title: "My Title 2"}); let index = yourArray.findIndex(f => f.title == 'My Title 1'); if (index != -1) yourArray[index].images = []; console.log(yourArray);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM