如何根据另一数组的值过滤数组(匹配元素id)
数组过滤代码完善方案
你只需要在filter的回调函数中,利用checkArray的includes方法判断当前元素的id是否存在于目标数组中即可,完善后的代码如下:
let filteredArray = array.filter(function(currentElement) { return checkArray.includes(currentElement.id); });
补充说明:
filter方法会遍历原数组,当回调函数返回true时,当前元素会被保留到新数组中includes方法用于检测数组是否包含指定值,返回布尔值,刚好适配filter对回调返回值的要求
如果你的checkArray元素数量较多,推荐先把它转换成Set来提升查找效率:
const checkSet = new Set(checkArray); let filteredArray = array.filter(currentElement => checkSet.has(currentElement.id));
内容的提问来源于stack exchange,提问作者Josh
相关产品推荐
相关产品推荐

