如何使用for循环对数组使用运算符(+,-,x,/)?

时间:2018-12-27 05:56:24

标签: javascript arrays

为您提供了一个由五个数字组成的数组,这些数字称为gainByTwo。使用for循环遍历数组,并将每个数字加2。

const gainByTwo = [1,2,3,4,5];

我需要结果为[3,4,5,6,7]

我不确定如何向数组本身或任何运算符添加+2。

我目前已经尝试过

const increaseByTwo = [1,2,3,4,5];
for (let i=0, i<increaseByTwo.length, i++)
console.log (increaseByTwo + 2) 

结果竟然是  3  4  5  6  7

在每条单独的行上,但需要将其放在[3,4,5,6,7]上

5 个答案:

答案 0 :(得分:1)

var arr =  [1,2,3,4,5];
console.log(arr.map((e)=> e + 2)) 

答案 1 :(得分:1)

const increaseByTwo = [1, 2, 3, 4, 5];

for (let i = 0; i < increaseByTwo.length; i++){ 

  increaseByTwo[i] = increaseByTwo[i] + 2;     //increaseByTwo[i] += 2;

}

console.log(increaseByTwo);

答案 2 :(得分:0)

您可以简单地使用.map()来获得结果数组:

const input = [1,2,3,4,5];

const output = input.map(v => v += 2);

console.log(output);

答案 3 :(得分:0)

您始终可以使用.map()运算符来修改元素值。例如,

let increaseByTwo = [1,2,3,4,5];
increaseByTwo = increaseByTwo.map(num=>num+2);
console.log(increaseByTwo);

或者,如果您确实要使用for循环,则可以使用以下方法:

let increaseByTwo = [1,2,3,4,5];
for(let i = 0;i<increaseByTwo.length;++i){
  increaseByTwo[i]+=2;
}
console.log(increaseByTwo);

这都应该起作用。

答案 4 :(得分:0)

MyArray.map((elt)=>(elt+2));

这基本上会将每个元素传递给函数

(elt) => elt + 2

,并将结果应用于元素。 你也可以做

for(var i = 0; i < MyArray.length; i++) {
    MyArray[i] += 2;
}

现在,用于多个操作和数字。如果您有类似[1, 2, 3, 4, 5]的内容,并且想要执行以下[1 + 4, 2 * 6, 3 - 4, 4 / 8, 5 + 6]

var operators = '+*-/+'.split('');
var secondnums = [4,6,4,8,6];
var MyArray = [1,2,3,4,5]; 
for(var i = 0; i < MyArray.length; i++) {
    MyArray[i] = eval(MyArray[i]+operators[i]+secondnums[i]);
}

console.log(MyArray)
// [5, 12, -1, 0.5, 11] AKA [1 + 4, 2 * 6, 3 - 4, 4 / 8, 5 + 6]