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

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

大佬們遇到過這個問題嗎?如何實現用數組對數組進行篩選?怎么回事哈???

大佬們遇到過這個問題嗎?如何實現用數組對數組進行篩選?怎么回事哈???

慕田峪7331174 2019-07-26 23:31:27
需求如下:letshowArr=[{malltype:'旗艦店',symbol:'R標',region:'華南地區',industry:'美容護理',price:'5萬-10萬'},{malltype:'旗艦店',symbol:'R標',region:'華南地區',industry:'服飾鞋包',price:'5萬-10萬'},{malltype:'旗艦店',symbol:'R標',region:'華南地區',industry:'游戲話費',price:'5萬-10萬'}]//篩選對象letreqArr=['旗艦店','服飾鞋包']//篩選條件value,且不確定對應的屬性輸出:[{malltype:'旗艦店',symbol:'R標',region:'華南地區',industry:'服飾鞋包',price:'5萬-10萬'}]目前已有的一個思路:lettemp=[];letcache;reqArr.forEach(function(item,index){showArr.forEach(function(sub){cache=Object.values(sub)cache.forEach(function(part,count){if(part==item){//console.log(item)temp=[];temp.push(sub)}})})})console.log(temp);
查看完整描述

2 回答

?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

constpick=(source,values)=>source.filter(srcItem=>values.every(val=>Object.values(srcItem).includes(val)))
pick(showArr,reqArr)
                            
查看完整回答
反對 回復 2019-07-26
?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

functionfind(source,target){
varret=[];
if(Array.isArray(source)&&Array.isArray(target)){
if(!target.length)returnsource;
for(vari=0;ivarobj=source[i];
vararr=target.slice();
for(varkeyinobj){
varval=obj[key];
varindex=arr.indexOf(val);
if(indexinarr)arr.splice(index,1);
}
if(!arr.length)ret.push(obj);
}
}
returnret;
}
console.log(find(showArr,reqArr));
                            
查看完整回答
反對 回復 2019-07-26
  • 2 回答
  • 0 關注
  • 318 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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