在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 兩個for循環(huán)嵌套遍歷的問題

兩個for循環(huán)嵌套遍歷的問題

discountData的長度 要大于 tabaleData的長度

想要實現(xiàn)tabaleData的discountId的值 跟 discountData里面進行對比 如果不相等 進行處理 即(tableData里面不含有discountData的數(shù)據(jù))

現(xiàn)在不管怎么改 都是處理的含有的數(shù)據(jù) 想知道哪里出問題了

回答
編輯回答
單眼皮
現(xiàn)在不管怎么改 都是處理的含有的數(shù)據(jù)

模擬一下數(shù)據(jù):

let tableDate = [{discountId:2,discount:1}];
let discountDate = [
    {
        id:1
    },
    {
        id:2
    }
];

那么第一輪比較,發(fā)現(xiàn)tableDate[0].discountId !== discountDate[0].id,于是tableDate[0].discount = 2。這應(yīng)該不是你想要的吧?

解決偽代碼:

for(...){
    for(...){
        let isExisted = false;
        if(... === ...){
            isExisted = true;
            break;
        }
    }
    tableDate[index].discount = 2;
}
2017年6月24日 01:17
編輯回答
短嘆

tableData里面不含有discountData的數(shù)據(jù)
判斷一個數(shù)組里的一項在不在另一個里面起碼得遍歷到最后一個才知道不存在吧
你這每次對比都觸發(fā)

for (let index = 0; index < this.tableData.length; index++) {
    flag = false;
    for (let i = 0; i < discountData.length; i++) {
        if (this.tableData[index].discountId == discountData[i].id) flag = true
    }
    if (flag) {
        //存在
    } else {
        //不存在
    }
}
this.tableData.forEach(v=>{
    if(discountData.some(k=>v.discountId==k.id)){
        //存在
    }else{
        //不存在
    }
})
2017年8月18日 15:00
編輯回答
旖襯

換成!=呢?

2017年6月27日 05:17
編輯回答
命多硬
let disCountData = res.data;
this.tableData.forEach(function(item,index){
  let flag= false;
  disCountData.forEach(function(data,i){
    if(item.discuntId === data.id){
      return flag  = true;
    }
  })
  if(!flag){
    item.discount = 2;
  }
})
2017年11月9日 00:06