我在使用以下函数将特定数字添加到数组中,后续想将该数组分配给一个变量。我使用两个
for
循环来实现此目的,但我感觉可能有更简洁的方法。我尝试将两个循环合并为一个,但输出结果不同。
有效示例:
function fill () {
var array = [];
for (var index = 0; index < arguments.length; index++) {
for (var number = arguments[index][0]; number <= arguments[index][1]; number++)
array.push(number);
}
return array;
};
/* Use */
var keys = fill([1, 10], [32, 34]);
/* Output */
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 32, 33, 34]
合并示例:
function fill () {
var array = [];
for (var index = 0, number = arguments[index][0];
index < arguments.length && number <= arguments[index][1];
index++ && number++) {
array.push(number);
}
return array;
};
/* Use */
var keys = fill([1, 10], [32, 34]);
/* Output */
[1, 1]
是否可能将这两个循环合并为一个循环?如果不行,有没有办法用更少的代码编写上述函数?