我有两个数组,我想从mydata$IsHoliday=as.factor(mydata$IsHoliday)
中移除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'];
答案 0 :(得分:1)
在这种情况下,我认为您需要遍历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']