【发布时间】:2018-07-09 20:36:06
【问题描述】:
我想问一个有效的方法来创建这样的数组:
[ 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3 ... n, n, n, n, n, n ]每 6 个项目,数字加 1++。
function createFaces(n){
var array = [];
var l = 1;
while(n > 0){
for(var i = 0; i < 6; i++){
array.push(l)
}
l++;
n--;
}
return array;
}
【问题讨论】:
-
您要添加多少行?
-
没关系(比如6)
-
你的实现有什么问题?
-
没有错,但我试图找到更有效的方法。
-
您编写的方式只遍历每个目标元素数组一次,开销最小。您可以通过将其设置为从
i=6到i=6*n+5的单个循环并将i/6推送到数组来使其稍微更有效(也许)。同样,您可以消除您的外部索引之一。不过,这几乎是毫无意义的微优化。
标签: javascript arrays function for-loop while-loop