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中找一下。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容