Javascript 如何按顺序检查数组1中的每个值,是否存在于数组2中并将其删除?

Javascript 如何按顺序检查数组1中的每个值,是否存在于数组2中并将其删除?,javascript,arrays,compare,Javascript,Arrays,Compare,我想取第一个数组的第一个值,检查第二个数组上是否存在,然后将其删除 例如,我想取数字41,如果它存在于下面的任意3个数组中,则将其删除,如果不取数字5,依此类推 for(var i=0;i在数组上循环时对其进行变异不是一种好的做法,您可以使用新数组推送值,也可以使用filter和includes a=[1,5,9,19,4,8172] 设b=[5,15,28,99,19] 让final=a.filter(val=>!b.includes(val)) console.log(final)我同意

我想取第一个数组的第一个值,检查第二个数组上是否存在,然后将其删除

例如,我想取数字41,如果它存在于下面的任意3个数组中,则将其删除,如果不取数字5,依此类推


for(var i=0;i在数组上循环时对其进行变异不是一种好的做法,您可以使用新数组推送值,也可以使用
filter
includes

a=[1,5,9,19,4,8172]
设b=[5,15,28,99,19]
让final=a.filter(val=>!b.includes(val))
console.log(final)
我同意代码狂人的答案,他的方法很聪明。
Array.prototype.includes()
确定当前数组是否包含指定值,如果包含指定值,则返回true,否则返回false。我将其方法作为函数编写,如下所示,您只需将arr1、arr2更改为数组

arr1=[1,2,1,3]
arr2=[1,3,4]
功能过滤器ARR(arr1、arr2){
返回arr1.filter(项=>!arr2.includes(项))
}

控制台日志(filterArr(arr1,arr2))
所以我可以做一些类似于“让a=num;让b=eacharr;”的事情,然后再次循环每个num,直到我到达eacharr.length=0;@Bandock是的,你可以,但我不明白你的意思,你想说什么,请你详细说明一下,我会在几个小时后回来检查。如果不能,我会尽快回复你帽子工作,如果没有分享更多。谢谢你的帮助!
for(var i=0;i<array1.length;i++) {
  var num = array1[i];
  console.log('Num',num);

  for(var j=0; j<array2.length; j++) {
    var eacharr = array3[j];
    for( var p = 0; p < eacharr.length; p++){
      var number = eacharr[p];
      if ( number === num) {
        eacharr.splice(i, 1);
        p--;
      }
    }
    console.log(eacharr);
  }
}