2 回答

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊
你這樣循環(huán)不對(duì)啊,按照你的意思
判斷major_id等于id的時(shí)候就使activeName字段為true
你這樣循環(huán)如果倒數(shù)第二個(gè)數(shù)是匹配,設(shè)成true了,倒數(shù)第一個(gè)不匹配,那不就又是false了嗎?
你可以改成for循環(huán)
for(let i = 0; i < _this.listWish.length; i ++){
for(let j = 0; i < _this.major.length; j ++){
if (item.major_id == a.id) {
_this.$set(a, 'activeName', true);
_this.$set(a, 'wishId', item.wish_id);
break;
} else {
_this.$set(a, 'activeName', false);
}
}
}

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊
//你的應(yīng)該這樣寫。保證只有一次修改,循環(huán)的時(shí)候只是為了判斷有沒(méi)有
var _tag = false;
_this.listWish.forEach(function(a) {
_tag = false;
_this.major.forEach(function(item) {
if (item.major_id == a.id) {
_tag = item.wish_id
}
});
if(_tag){
_this.$set(a, 'activeName', true);
_this.$set(a, 'wishId', _tag);
} else {
_this.$set(a, 'activeName', false);
}
});
//里面可以優(yōu)化的地方就是如果內(nèi)循環(huán)重復(fù)了,跳出來(lái),這樣可以少判斷一點(diǎn)。
//你的應(yīng)該這樣寫。保證只有一次修改,循環(huán)的時(shí)候只是為了判斷有沒(méi)有
var _tag = false;
_this.listWish.forEach(function(a) {
_tag = false;
_this.major.forEach(function(item) {
if (item.major_id == a.id) {
_tag = item.wish_id
}
});
if(_tag){
_this.$set(a, 'activeName', true);
_this.$set(a, 'wishId', _tag);
} else {
_this.$set(a, 'activeName', false);
}
});
//里面可以優(yōu)化的地方就是如果內(nèi)循環(huán)重復(fù)了,跳出來(lái),這樣可以少判斷一點(diǎn)。
添加回答
舉報(bào)