javascript - Change the code to ES6 -


i want change code es6, want use object.assign functionality make immutable. got

function toggle(arr, obj){     for(var i=0; i<arr.length; i++){       if(arr[i].name ==obj.name){         arr[i].checked=true;       }       return arr;     }   }     var arr = [   {name: "play", checked:false},   {name: "swim", checked:false},   {name: "sing", checked:false}   ];    toggle(arr,  {name: "play", checked:false}); 

all changes "checked" property of passed object false true. right overwrites original object, avoid it.

this have far:

function toggle(arr, obj){     for(var i=0; i<arr.length; i++){       if(arr[i].name ==obj.name){         var newarr = object.assign({}, arr[i], { arr[i].checked: true});       }      }   } 

you can in following way

var arr = [    {name: "play", checked:false},    {name: "swim", checked:false},    {name: "sing", checked:false}    ];    //toggle(arr,  {name: "play", checked:false});    arr = arr.map((a) => {    return a.name != "play" ? : object.assign(a, {checked : true});  })    console.log(arr);


Comments

Popular posts from this blog

neo4j - finding mutual friends in a cypher statement starting with three or more persons -

php - How to remove letter in front of the word laravel -

minify - Minimizing css files -