[英]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.