js 数组相减 (一个数组去掉不符合条件的子数组)

数组相减?我也希望将来在ES8或者更好js版本能带来数组之间相互运算的方法,但是现在不能,咱们只能靠已有的方法实现;

var arr1 = [2,3,5,88,99,444,66],arr2 = [2,88,66],a = "",b="";
for(var i = arr1.length-1 ; i > 0 ; i-- ){
    a = arr1[i];
    for( var j = arr2.length - 1 ; j >0 ; j --){
        b = arr2[j];
        if( a === b){
            arr1.splice(i,1);
            arr2.splice(j,1);
            break;
        }
    }
}
console.log(arr1)

注意:一定要采用倒着循环便利,如果正着循环便利,没减少一项,想到与遍历下一项没有改变。

原文地址:https://www.cnblogs.com/webwangjin/p/6270655.html