使用find和slice更新对象元素

时间:2018-07-17 11:05:15

标签: javascript

我想更新一个对象中的一个property-folderId。新的folderId将替换documentsId中的所有folderId。

以下是我要修改的数据。 FolderId需要更改为新值。

const documentsId = ["{id: 73, name: "Testilului", extension: "pdf",     
fileSize: 100, folderId: 26},{id: 73, name: "Testilului", extension: "pdf",     
fileSize: 100, folderId: 26}]

我想做的是使用find使用find循环遍历所有元素,然后尝试使用slice更改folderId的值。

const newFolderId =20;
const index = documentsId.findIndex(item=>item.folderId === newFolderId)
    return [
      ...documentsId.slice(documentsId.folder.Id,indexx),
      newFolderId,
      ...documentsId.slice(index +1)
    ]

1 个答案:

答案 0 :(得分:1)

您可以简单地遍历数组并使用新值更改每个ID:

const documentsId = [{
    id: 73, name: "Testilului", extension: "pdf",     
    fileSize: 100, folderId: 26
},{
    id: 73, name: "Testilului", extension: "pdf",     
    fileSize: 100, folderId: 26
}]

documentsId.forEach(obj => obj.id = 20)