繁体   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