Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Array map function doesn't change elements

In JavaScript, I have an array, which is

array = [true, false]

In some cases, I am trying to initialize this array

array.map(item => {
   item = false
})

After running the above code, the array is not changed, it is still [true, false], so is .map not reliable sometimes?


ONE MORE QUESTION: After running my below code, the array is changed. Why does it work in this case?

let array = [{id:1, checked: false}, {id:2, checked:true}]
array.map(item => {
    item.checked = true
})

array becomes [{id:1, checked: true}, {id:2, checked:true}]

like image 853
Benjamin Li Avatar asked Feb 15 '17 06:02

Benjamin Li


1 Answers

JavaScript Array map() Method

*)creates a new array with the results of calling a function for every array element and it calls the provided function once for each element in an array, in order.

Note: map() Method does not execute the function for array elements without values and it does not change the original array.

more details

like image 149
Randika89 Avatar answered Sep 28 '22 03:09

Randika89