[英]I would like to fill an array with numbers using javascript with a for loop
[英]With JavaScript how would I increment numbers in an array using a for loop?
我正在尝试增加数组中的数字
var myArray = [1, 2, 3, 4];
我尝试使用
for (var i = 0; i < myArray.length; i++){
myArray[i] + 1;
}
但这似乎无济于事:(请帮忙
您可以使用map()
这将使它非常干净:
var arr = [1,2,3,4]; arr = arr.map(function(val){return ++val;}); console.log(arr);
使用 ES6 箭头函数:
arr = [1, 2, 3, 4]; new_arr = arr.map(a => a+1); console.log(new_arr);
有很多可能性可以做到这一点,您可以使用 plus equal +=
,如下所示:
for (var i = 0; i < myArray.length; i++){
myArray[i] += 1;
}
或者简单地说:
for (var i = 0; i < myArray.length; i++){
myArray[i] = myArray[i] + 1;
}
希望这可以帮助。
var myArray = [1, 2, 3, 4]; for (var i = 0; i < myArray.length; i++){ myArray[i] += 1; } alert(myArray);
假设您的数组包含有序数字,增量为 1,您还可以使用以下代码:
var myArray = [1,2,3,4]; myArray.push(myArray[myArray.length - 1] + 1); myArray.shift(); alert(myArray);
没有 Es6,
myArray[i] = myArray[i] + 1;
or
++myArray[i]
将工作。
您可以使用 Array 构造函数来执行此操作。
使用 Array.from() 方法
例如 :
Array.from([1,2,3,4,5], x => x+x);
而已。 您甚至可以创建具有长度的空数组
Array.from({length:5}, (v, i) => i);
您可以使用 ES6 的Array.from()
方法。 回调是一个映射函数,您可以使用它为数组中的每个数字加一。
这里在 map 函数中使用了前缀(而不是后缀)增量运算符++
,因为当您在操作数之前使用增量运算符时,增量发生在返回值之前,而使用后缀,原始值将在返回之前返回操作数将增加(因此,在x++
的情况下将返回未更改的数组版本)。
function addOne(arr) {
return Array.from(arr, x => ++x);
}
addOne([1, 2, 3]); // [2, 3, 4]
您可以使用 Array 构造函数。
使用Array.map()
方法,用数字填充系列
例如 :
Array(5 + 1).fill().map((_, index) => index + 1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.