我有一個索引陣列:selected = [2, 6, 10]() 例如。我還有一組照片物件,稱為photos. 我想只跟蹤選定的照片,所以我這樣做:
const selectedPhotos = selectedArray.map((i) => photos[i]);
這給了我結果:
Array [
Object {
"albumId": "someId1",
"creationTime": "sometime",
"duration": 0,
"filename": "name1.jpg",
"id": "someId1",
"uri": "someIUri1",
},
Object {
"albumId": "someId2",
"creationTime": "sometime",
"duration": 0,
"filename": "name2.jpg",
"id": "id2",
"uri": "uri2",
},
Object {
"albumId": "someId3",
"creationTime": "sometime",
"filename": "filename3.jpg",
"uri": "uri3",
},
]
這很好,但我也想跟蹤選定的索引。所以我的問題是,我應該如何在屬性旁邊添加以下資訊: index: 2、 或index: 6等。photo所以我想回傳類似的東西:
Array [
Object {
"index": 2,
"albumId": "someId1",
"creationTime": "sometime",
"duration": 0,
"filename": "name1.jpg",
"id": "someId1",
"uri": "someIUri1",
},
Object {
"index": 6
"albumId": "someId2",
"creationTime": "sometime",
"duration": 0,
"filename": "name2.jpg",
"id": "id2",
"uri": "uri2",
},
Object {
"index": 10
"albumId": "someId3",
"creationTime": "sometime",
"filename": "filename3.jpg",
"uri": "uri3",
},
]
uj5u.com熱心網友回復:
你可以做這樣的事情
const selectedPhotos = selectedArray.map((i) => {
let curItem={...photos[i]};
curItem.index=i;
return curItem;
});
uj5u.com熱心網友回復:
您可以創建一個新物件并在其中解構您想要的物件,然后添加索引。這樣你就可以在一行中完成,而且很容易閱讀。
const selectedPhotos = selectedArray.map(i => { ...photos[i], index: i });
帶有可選更換的更安全的版本:
const selectedPhotos = selectedArray.map(i => { ...photos?.[i], index: i });
uj5u.com熱心網友回復:
只需添加索引:
const selectedPhotos = selectedArray.map((i) => {
let photo = photos[i];
photo.index = i;
return photo;
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/462484.html
標籤:javascript 反应 反应式
下一篇:如何在我的文本輸入中獲取物件值?
