微信小程序 JS 判斷兩個對象中指定數據是否相等,並以對象的形式存儲到一個數組中(數組對象)


公共屬性
 1 let oldData = [
 2 { id: 1, price: 100, skuid: 233 }, 
 3 { id: 2, price: 200, skuid: 2311 }, 
 4 { id: 3, price: 300, skuid: 312 }, 
 5 { id: 4, price: 180, skuid: 23342 }
 6 ]
 7 
 8 let newData = [
 9 { price: 136, skuid: 312 }, 
10 { price: 195, skuid: 233 }, 
11 { price: 155, skuid: 2311 }
12 ]
13 
14 let priceChange = []

 

 一  雙for循環判斷

 1  for (let i = 0; i < newData.length; i++) {
 2      for (let j = 0; j < oldData.length; j++) {
 3          if(newData[i].skuid == oldData[j].skuid){
 4             priceChange.push({
 5                 'id':oldData[j].id,
 6                 'price':newData[i].price,
 7                 'skuid':newData[i].skuid
 8             })
 9          } 
10      }
11  }
12  console.log(priceChange);

 輸出

 

二  obj.filter(),返回一符合要求的數組
 1 for (let i in oldData) {
 2     let old_skuid = oldData[i].skuid
 3     if (i != oldData.length - 1) {
 4         let res = newData.filter(item => {
 5             return item.skuid == old_skuid
 6         })
 7         priceChange.push({
 8             'skuid':res[0].skuid,
 9             'price':res[0].price
10         })
11     }
12 }
13 console.log('priceChange',priceChange);

 輸出

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM