第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

js查找對(duì)象數(shù)組元素中的key,如果有則替換,沒(méi)有則添加

js查找對(duì)象數(shù)組元素中的key,如果有則替換,沒(méi)有則添加

慕田峪4524236 2019-03-01 14:13:21
現(xiàn)在有一數(shù)組,我需要判斷里面是否有我當(dāng)前的questionId,如果有則用一個(gè)js對(duì)象替換,沒(méi)有則直接添加。我想用for循環(huán)的方式來(lái)查找,但是總會(huì)被添加好多次,請(qǐng)大家?guī)兔聪拢杭矗河胻emp里面的questionId和data里面的questionId進(jìn)行比較,如果data里面有這個(gè)questionId,則用temp里面的answer替換相應(yīng)的answer,如果data里面沒(méi)有這個(gè)questionId,則直接添加temp數(shù)據(jù)到data。問(wèn)題:我用for循環(huán)遍歷的時(shí)候,總會(huì)重復(fù)添加數(shù)據(jù),就是說(shuō)每次都會(huì)重復(fù)遍歷數(shù)據(jù)。
查看完整描述

2 回答

?
DIEA

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;

});


查看完整回答
反對(duì) 回復(fù) 2019-03-07
?
陪伴而非守候

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個(gè)贊

MDN官網(wǎng)有這么一段話(huà)

https://img1.sycdn.imooc.com//5c80c8ff00017db406910202.jpg

所以for...in在這里并不可靠
此處在循環(huán)前保存一個(gè)length,用下標(biāo)遍歷就好了

查看完整回答
反對(duì) 回復(fù) 2019-03-07
  • 2 回答
  • 0 關(guān)注
  • 3821 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)