为什么array.map()函数不会更改数组

时间:2020-06-12 09:46:48

标签: javascript arrays

我想向数组的每个元素添加一个。我尝试过:

myArray=[1,2,3]
myArray.map(a=>a+=1) // tried a++ and a=a+1 too
console.log(myArray) // return [ 1 , 2 , 3 ]

它不起作用... 所以我做到了:

myArray=[1,2,3]
mySecondArray=[]
myArray.map(a=>mySecondArray.push(a+1))
console.log(mySecondArray) // return [ 2, 3, 4 ]

它奏效了,但我不理解为什么第一个没有奏效。你能解释一下为什么吗?

3 个答案:

答案 0 :(得分:0)

您需要将其等同:

myArray = myArray.map(a => a+1);
console.log(myArray)

输出---> [2、3、4]

答案 1 :(得分:0)

当前,您没有存储实例。

将实例存储在某个数组中

let myArray=[1,2,3]
myArray = myArray.map(a=>a+1);
console.log(myArray);

答案 2 :(得分:0)

JavaScript中的map()方法通过在父数组中存在的每个元素上调用特定函数来创建数组。这是一种非变异方法,这就是为什么您的第一种方法行不通的原因。

let myArray = [1,2,3];
myArray = myArray.map(x => x + 1);
console.log(myArray);