javascript - 带有数组长度参数的 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...
那么如何实现这一点呢?
解决方案
您可以简单地编写一个函数,将所需数组的长度作为参数。这很简单,只需始终查看代码中的差异,然后用变量替换它们。取自您的代码,这将是
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))
推荐阅读
- google-apps-script - 如何解锁 Google Apps 脚本中的“挂锁”应用程序脚本文件?
- r - 根据另一列中的值分配方向
- error-handling - 使用机器人框架在登录脚本中添加电子邮件和密码
- swift - 服务器端 Swift Vapor - 模型继承
- c# - 我们可以从 C# winform 运行索引重建或重组命令吗?
- c# - WPF 用户控件依赖属性未绑定
- python - 由于传递给 __init__() 的附加参数,django 中的嵌套视图给出了 TypeError
- java - 方法不会从其超类覆盖
- wordpress - 如何通过以下方式将 Wordpress 与 Ultimate Member 和 Media Library 文件夹结合使用
- javascript - promise catch 不解析 json