好的,我实现了100,500,1000等随机数组。元素从0到3米。
var array1 = [];
for (var k= 0, t=100; k<t; k++){
array1.push(Math.round(Math.random() * 3000000))
};
var array2 = [];
for (var k= 0, t=500; k<t; k++){
array2.push(Math.round(Math.random() * 3000000))
};
对于不同长度的阵列,我重复了8次。所以我想用执行此算法的函数优化它,并且在函数后面我只需要声明我需要的数组的长度。所以它可以像这样
var [100,500,1000,10000] //number of lengths
function().... // doing algorithm
console.log(array1) // array of 100 elements
console.log(array2) // array of 500 elements
etc...
那么如何实现呢?
答案 0 :(得分:1)
您可以简单地编写一个函数,将所需数组的长度作为参数。它非常简单,只需要查看代码中的差异,然后用变量替换它们。从您的代码中获取,这将是
function createArrayWithLength(length) {
var array1 = [];
for (var k = 0, t = length; k < t; k++) {
array1.push(Math.round(Math.random() * 3000000))
};
return array1;
}
console.log(createArrayWithLength(3));
&#13;
您也可以使它更容易一些,而不是使用以下函数来创建您的数组:
function createArrWithLength(length) {
return Array.from({length}, () => Math.round(Math.random() * 3000000));
}
console.log(createArrWithLength(3))
&#13;
答案 1 :(得分:0)
以下是一个例子:
var sizes = [100,500,1000,10000] //number of lengths
var result_arr = [];
for(var i=0;i<sizes.length;i++){
result_arr[i] = getRandomArray(sizes[i]);
}
console.log(result_arr);
function getRandomArray(size){
var array = [];
for (var k= 0; k<size; k++){
array.push(Math.round(Math.random() * 3000000))
};
return array;
}
&#13;