2 回答

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超2個(gè)贊
題主可能是邏輯弄暈了,你看對(duì)不對(duì)
// 已經(jīng)有答案則判斷是否該題答案
let isExist = false;
for (let i in answers) {
let questionId = answers[i].questionId;
if (id === questionId) {
isExist = true;
break;
}
}
if (isExist) {
// 如果存在答案則替換原答案
this.$store.commit('delIndex', i);
this.$store.commit('addAnswer', data);
console.log('我要替換原來(lái)答案', data);
} else {
// 否則直接提交
this.$store.commit('addAnswer', data);
console.log('初次提交答案', data);
}
前面的 for 循環(huán)優(yōu)化下:
let isExist=answers.some((val,index)=>{
return id===val[index].questionId;
});

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個(gè)贊
MDN官網(wǎng)有這么一段話(huà)
所以for...in
在這里并不可靠
此處在循環(huán)前保存一個(gè)length
,用下標(biāo)遍歷就好了
添加回答
舉報(bào)