簡體   English   中英

將新數組添加到 object 而不刪除先前的數組

[英]Adding new array to object without deleting the previous array

我有一個數組 obj,我正在添加另一個 object 鏈接,我正在 object 中創建一個系列數組。 我想在系列數組之后創建另一個電影數組。

const obj = {
projectId: 0,
gridId: 0,
createValues: [
{
  field: "string",
  value: "string"
}
]
};

const dataCompo = {
"model-10389": 164703,
"model-10388": 164704,
"model-10387": 164705
};

const dataTraca = {
"model-10389": [1656, 1234, 1245],
"model-10384": [1656, 1234, 1245],
"model-10383": [1656, 1234, 1245],

};

const ser = Object.entries(dataCompo).map(([key, value]) => ({
modelId: key.substring(6),
id: value
}));
obj.links = {
        serie: ser
    };

const mov = Object.entries(dataTraca).map(([key,value]) => ({
modelId: key.substring(6),
ids: value
}));

obj.links = {
        movie: mov
    };

console.log(obj);

事情是這樣的,它正在用電影之一替換整個鏈接 object 和 serie 陣列。 我不太清楚如何使用擴展運算符。

我設法在一行中做到了這一點:

    obj.links = { serie: ser, movie:mov };

但是我想像上面一樣單獨做

你可以做這樣的事情

 const obj = { projectId: 0, gridId: 0, createValues: [{ field: "string", value: "string" }] }; const dataCompo = { "model-10389": 164703, "model-10388": 164704, "model-10387": 164705 }; const dataTraca = { "model-10389": [1656, 1234, 1245], "model-10384": [1656, 1234, 1245], "model-10383": [1656, 1234, 1245], }; const newData = [ ['movie', dataCompo], ['serie', dataTraca] ].reduce((res, [key, value]) => { return {...res, [key]: Object.entries(value).map(([key, value]) => ({ modelId: key.substring(6), id: value })) } }, obj) console.log(newData)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM