-2
我想將此代碼更改爲ES6,特別是我想使用Object.assign功能使其不可變。 這是我得到更改代碼爲ES6
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});
它所做的是它改變了傳遞的對象的「選中」屬性從假到真。現在它覆蓋了我原來的對象,我想避免它。
這是我到目前爲止有:
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});
}
}
}
我們不鼓勵的帖子,簡單地陳述問題斷章取義做,並期望社區解決它。假設你試圖自己解決它並陷入困境,那麼如果你寫下了你的想法和你無法想象的東西,這可能會有所幫助。它肯定會爲你的帖子提供更多的答案。在此之前,這個問題將被投票停止/降低投票。 – Cerbrus
@Cerbrus謝謝你的反饋,我只是不喜歡我的解決方案,所以我沒有分享它。我現在添加它 – Polina