簡體   English   中英

從另一個已經存在的數組創建 ID 數組

[英]Create array of Ids from another already existing array

我想為已經存在的未知大小數組的每個元素創建一個 ID 數組。 棘手的部分是我需要每四個元素都具有相同的 ID。

例如,新數組將是:假設 array1 有 20 個項目,[1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5, 5,5,5]

我嘗試使用 for 循環做一些事情,但我不知道如何在迭代時填充每四個元素而不覆蓋它們。

for(let i=0; i < itemlist.length; i++) {newArray[i] = i; newArray[i] = i;newArray[i] = i;newArray[i] = i;}

您可以創建一個大小為四分之一的數組,並使用flatMap使用每個索引的四個元素對其進行初始化。

 function generateArray(size){ return [...Array(size / 4)].flatMap((_,i)=>Array(4).fill(i + 1)); } console.log(generateArray(20));

您可以將現有數組 map 轉換為 function 從現有數組中的索引生成 id

 const someArray = [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0]; const yourArray = someArray.map((el, i) => Math.floor(i / 4) + 1); console.log(yourArray);

暫無
暫無

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

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