首页 > 解决方案 > 带有数组长度参数的 JavaScript 函数

问题描述

好的,我实现了 100,500,1000 等随机数组。从 0 到 3m 的元素。

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...

那么如何实现这一点呢?

标签: javascriptarraysoptimization

解决方案


您可以简单地编写一个函数,将所需数组的长度作为参数。这很简单,只需始终查看代码中的差异,然后用变量替换它们。取自您的代码,这将是

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));

你也可以让它更容易一些,使用下面的函数来创建你的数组:

function createArrWithLength(length) {
  return Array.from({length}, () => Math.round(Math.random() * 3000000));
}
console.log(createArrWithLength(3))


推荐阅读