正嘗試使用es6映射更新對象數組的屬性值。我的邏輯有什麼問題?更新基於另一個對象屬性值的對象屬性值失敗
this.state = {
"fruits":[
{"name":"banana","value":true},
{"name":"watermelon","value":false},
{"name":"lemon","value":false}
]
}
const key = 'lemon';
const newFruitsData = this.state.fruits.map(obj =>
obj.name === key ? obj.value = true : ''
)
console.log(newFruitsData)
無法彌補我的反應http://jsbin.com/jagononuwe/1/edit?js,console,output
難道你不需要在'obj.name ===鍵的某個地方':'? obj [key] .value = true'?你爲什麼設置'obj [key] .value'而不是'obj.value'? –
@MikeSamuel無法工作,http://jsbin.com/jagononuwe/1/edit?js,console,output – Mellisa
那麼,你正在將一個對象映射到它的一個屬性或空字符串,所以setState吹走你的狀態。 –