看起来你正在变异
highestData
而不是创建一个新的
不确定你有什么结构,但至少应该重写
for(var i = 0;i<highestData.channel_mix.length;i++){
for(var j= 0;j<action.updateData.length;j++){
if(highestData.mix[i].pk === action.updateData[j].pk){
highestData.mix[i].volume = action.updateData[j].volume;
break;
}
}
}
highestData = {
...highestData ,
mix: highestDat.mix.map(channel => {
const update = action.updateData.find(({pk}) => channel.pk === pk)
if(update)
return {...channel, volume: update.volume}
return channel
})
}