Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从与JavaScript中的字符串匹配的数组中删除多个项_Javascript - Fatal编程技术网

从与JavaScript中的字符串匹配的数组中删除多个项

从与JavaScript中的字符串匹配的数组中删除多个项,javascript,Javascript,我有两个数组,我想从arr中删除removeStr中的项目: var arr = [ '8','abc','b','c']; // This array contains strings that needs to be removed from main array var removeStr = [ 'abc' , '8']; arr = arr.filter(function(val){ return (removeStr.indexOf(val) == -1 ? true : f

我有两个数组,我想从
arr
中删除
removeStr
中的项目:

var arr = [ '8','abc','b','c'];

// This array contains strings that needs to be removed from main array
var removeStr = [ 'abc' , '8'];

arr = arr.filter(function(val){
  return (removeStr.indexOf(val) == -1 ? true : false)
})

console.log(arr);

// 'arr' Outputs to :
[ 'b', 'c' ]
但如果我有下面的数组呢:

var arr = [ 'abc / **efg**','hij / klm','**nop** / qrs','**efg** / okl'];

var removeStr = [ 'efg' , 'nop'];
如何根据匹配的字符串筛选元素?结果应返回:


['hij/klm']

在这种情况下,我认为您需要遍历
removeStr
数组,并检查每个
arr
元素是否包含
removeStr
数组中的字符串

// var arr = ['8', 'abc', 'b', 'c'];
    // // This array contains strings that needs to be removed from main array
    // var removeStr = ['abc', '8'];

    var arr = ['abc / **efg**', 'hij / klm', '**nop** / qrs', '**efg** / okl'];

    var removeStr = ['efg', 'nop'];

    arr = arr.filter(function (val) {
        var found = false;
        for (var i = 0; i < removeStr.length; i++) {
            var str = removeStr[i];
            if (val.indexOf(str) > -1) {
                return false;
            }
        }
        return true;
    });

    console.log(arr);

    // 'arr' Outputs to :
    ['b', 'c']
//var arr=['8','abc','b','c'];
////此数组包含需要从主数组中删除的字符串
//var-removeStr=['abc','8'];
var arr=['abc/**efg**'、'hij/klm'、'**nop**/qrs'、'**efg**/okl'];
var-removeStr=['efg','nop'];
arr=arr.filter(函数(val){
var=false;
对于(变量i=0;i-1){
返回false;
}
}
返回true;
});
控制台日志(arr);
//“arr”输出至:
['b','c']