添加新資料時無法將資料保留在陣列中。這段代碼在回圈中
let placeHolder = facArray[key].filter(i => i.M == map).map(i => i.W)
mapArray[map] = [...placeHolder]
我正在嘗試將資料存盤在一個陣列中,其中 map 的值作為索引,我想將資料推送到它,這是在一個回圈中 btw 但它不斷洗掉以前的資料如何在添加到它的同時保留以前的資料
uj5u.com熱心網友回復:
您需要參考 Array 的非原始實體,以用作 Map 鍵。以供參考 :
var mapArray = new Map();
...
...
let placeHolder = facArray[key].filter(i => i.M == map).map(i => i.W)
mapArray.set(map,[...placeHolder]);
...
...
uj5u.com熱心網友回復:
在我可以使用擴展運算子獲取所有舊資料之前,我需要確保陣列中確實存在某些內容
if(mapArray[map] === undefined){
mapArray[map] = [...placeHolder]
}else{
mapArray[map] = [...placeHolder, ...mapArray[map]]
}
uj5u.com熱心網友回復:
你也可以用一個簡單的方法來做到這一點Array.push():
const mapArray={abc:[1,3,5,7]}, map="abc",
placeHolder=[2,4,6,8];
(mapArray[map]??=[]).push(...placeHolder);
console.log(mapArray[map]);
該運算式(mapArray[map]??=[])將初始化一個陣列,mapArray以防它以前不存在。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/525184.html
