繁体   English   中英

使用 JavaScript,我将如何使用 for 循环增加数组中的数字?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM