js通過id數組過濾數組對象

myFilter(arr1,arr2) { return arr1.filter((ele) => arr2.filter((x) => x.id === ele.id).length > 0 );}

在 chrome 瀏覽器下測試可行。


答案里為了簡潔,使用了箭頭函數。主要思路就是利用 Array 的 filter 函數。

該函數接受一個回掉函數作為參數,就是如何過濾想要的內容,滿足條件的返回為true。

它并不要求b里的id都在a里,只要是共有的id都會選中。

如果是b里的id 都在a里的話,可以嘗試這個方法。

myFilter:?function?(arr1,?arr2)?{

????console.log(1)

????var?ret?=?[];

????arr2.forEach(?(ele)?=>?{

????????let?findEle?=?arr1.find(?(x)?=>?x.service_id?===?ele.service_id);

????????//?如果在arr1中找到,添加到arr1中

????????findEle???ret.push(findEle)?:?'';

??????}

????);

????return?ret;

??}

這個思路是把b中的每一個id都在a中找一下。

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容