如果不存在于另一个数组中,则从数组中删除

时间:2017-05-04 15:26:05

标签: javascript arrays

var allowedIds = [1000, 1001, 1002, 1003, 1004];
var idsToCheck = [1000, 1001, 1005, 1006];

我正在寻找一种方法来删除1005&来自arrayToCheck的1006,因为这些ID不在allowedIds数组

任何帮助将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:6)

您可以使用Array.prototype.filter()idsToCheck进行迭代,以过滤掉allowedIds以外的所有ID。例如:

const checkedIds = idsToCheck.filter(id => allowedIds.includes(id));

注意:使用ES6功能:arrow functionsArray.prototype.includes()。要在旧版浏览器中使用它,请检查兼容性。

以下是具有更好浏览器兼容性的替代实现:

var checkedIds = idsToCheck.filter(function(id) {
  return allowedIds.indexOf(id) > -1;
});
相关问题