需求:有两个均是数组对象结构的数组,如下:
1//第一个数组对象结构如下: arr1数组长度大于arr2 2arr1=[ 3 {adCode:"12340",adName:'河南省'}, 4 {adCode:"12341",adName:'山东省'}, 5 {adCode:"12342",adName:'广东省'}, 6 {adCode:"12343",adName:'上海市'}, 7 {adCode:"12344",adName:'安徽省'}, 8]
1//第二个数组对象结构如下: 2arr2=[ 3 {adCode:'12342',adValue:"98"}, 4 {adCode:'12340',adValue:"48"}, 5 {adCode:'12341',adValue:"90"}, 6]
由上面的数据结构可以看出,若想获得如下数据结构:
1arr3=[ 2 {adName:"河南省",adValue:"48"} 3]
则可进行如下操作:
1const arr = arr1.map((v)=>{ 2 const newResult = arr2.find((item)=>v.adCode ===item.adCode); 3 return {adName:v.adName,adValue:newResult.adValue} 4})
若arr2数组结构如下:
1arr2=[ 2 {adCode:'12342',adValue:"98"}, 3 {adCode:'12340',adValue:undefined}, 4 {adCode:'12341',adValue:"90"}, 5 {adCode:'12344',adValue:"40"}, 6 {adCode:'12343',adValue:undefined}, 7]
则操作如下:
1const arr = arr1.map((v)=>{ 2 //adValue值为undefined时,不纳入新数组arr中 3 const newResult = arr2.find((item)=>v.adCode ===item.adCode) || {}; 4 return {adName:v.adName,adValue:newResult.adValue} 5})
