亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JS 循環-陷入邏輯死區,求解答。

JS 循環-陷入邏輯死區,求解答。

元芳怎么了 2019-05-24 10:02:36
dataHandler(opt){constminiCartListArr=[...this.miniCartListArr]lettempArr=[]letdata={};if(miniCartListArr.length>0){miniCartListArr.forEach((item,idx)=>{let$item=item;if($item.skuId==opt.skuId){data[opt.skuId]=truetempArr.push(opt)}else{tempArr.push($item)}})}else{opt.countNum=1tempArr.push(opt)}this.setMiniCartListArr(tempArr)}我是取到miniCartListArr,如果他的個數大于0就遍歷miniCartListArr,小于等于0就直接把傳遞進來的opt推送到臨時空數組里?;氐奖闅v里面,我的目的是對比傳遞進來的對象ID和遍歷的當前ID做比較,如果相同就push傳遞進來的,不相同就push當前遍歷的對象,最后在把新的tempArr(和miniCartListArr的區別就是多一個對象或者少一個對象,也有可能是改變其中一個對象)存儲起來。但是現在,發現第一次是push進去了,后面就沒有PUSH進去,函數是出發了的,但是有問題。寫到這個地方遇到個小問題,繞進去出不來了。求大佬思路。傳入參數格式{skuId:201108293321,price:2.89,countNum:1}每次傳入的參數對象就是這樣的。
查看完整描述

2 回答

?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

dataHandler(opt){
constminiCartListArr=[...this.miniCartListArr]
lettempArr=[]
letdata={};
if(miniCartListArr.length>0){
miniCartListArr.forEach((item,idx)=>{
let$item=item;
if($item.skuId==opt.skuId){//當opt在mincarListArr中時,使用opt替換
data[opt.skuId]=true
tempArr.push(opt)
}else{
tempArr.push($item)
}
})
//當opt不在mincarListArr中時,把opt添加在tmpArr的最后
if(!data[opt.skuId]){
opt.countNum=1
tempArr.push(opt)
}
}else{
opt.countNum=1
tempArr.push(opt)
}
this.setMiniCartListArr(tempArr)
}
                            
查看完整回答
反對 回復 2019-05-24
  • 2 回答
  • 0 關注
  • 423 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號