我有一个这样的对象:
const [mile, setMile] = useState({
AL: 0,
AK: 0,
AR: 0,
CA: 0,
CA: 0,
CT: 0,
DE: 0,
DC: 0,
FL: 0,
GA: 0,
HI: 0,
ID: 0,
IL: 0,
IN: 0,
IA: 0,
KS: 0,
KY: 0,
LA: 0,
ME: 0,
MA: 0,
)};
并且我收到了图像中的对象数组: Second object
我想计算每个州的行驶里程:
类似的东西,但我不知道如何拆分英里对象,我尝试了 Object.entries ,但失败了
secondObject.map(row =>{
if (mile.key === row.state)
{
mile.value += row.Miles
}
答案 0 :(得分:0)
你有没有试过这个:
secondObject.map(row =>{
if (mile.hasOwnProperty(row.state)){
mile[row.state] += row.Miles
}
});
答案 1 :(得分:0)
使用setState(prev => return newValue)
。更新对象时,要注意返回新对象。
setMile(prev => {
// your can't update prev itself so make a copy
const newMile = Object.assign({}, prev)
secondObject.map(row => {
if (newMile.hasOwnProperty(row.state) {
newMile[row.state] += row.Miles
}
})
return newMile
})
相关
Updating an object with setState in React
https://reactjs.org/docs/state-and-lifecycle.html