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
Post a Comment