如何使用javascript检查数组中是否已经存在与正则表达式匹配的字符串
我试图创建一个非重复行数组,从数组的末尾到另一个数组的开头 我试过这个:如何使用javascript检查数组中是否已经存在与正则表达式匹配的字符串,javascript,arrays,string,scripting,duplicates,Javascript,Arrays,String,Scripting,Duplicates,我试图创建一个非重复行数组,从数组的末尾到另一个数组的开头 我试过这个: for(var i = len; i > 0; i--){ if(resultArray[i] != undefined && resultArray[i].match(blahRegex)){ if(lastArray[blahRegex]){ console.log("entering here")
for(var i = len; i > 0; i--){
if(resultArray[i] != undefined && resultArray[i].match(blahRegex)){
if(lastArray[blahRegex]){
console.log("entering here")
lastArray.push(resultArray[i])
}
// console.log(resultArray[i])
}
您可以使用
过滤器
以下是一个例子:
var lastArray = resultArray.filter(value => blahRegex.test(value));
哦,刚刚注意到您只想保留唯一的值
var lastArray = resultArray.reduce((acc, value) => {
if(blahRegex.test(value) && acc.indexOf(value) == -1){
acc.push(value);
}
return acc;
}, []);
这样做的目的是在resultArray
数组中保留与blahRegex
regex匹配的所有唯一值。您可以使用过滤器进行此操作
以下是一个例子:
var lastArray = resultArray.filter(value => blahRegex.test(value));
哦,刚刚注意到您只想保留唯一的值
var lastArray = resultArray.reduce((acc, value) => {
if(blahRegex.test(value) && acc.indexOf(value) == -1){
acc.push(value);
}
return acc;
}, []);
这样做的目的是在resultArray
数组中保留与blahRegex
regex匹配的所有唯一值。您可以使用过滤器
和设置
的组合:
let lastArray = [...new Set(resultArray.filter(value => blahRegex.test(value)))];
您可以结合使用过滤器
和设置
:
let lastArray = [...new Set(resultArray.filter(value => blahRegex.test(value)))];
我们需要投入和预期产出…我们需要投入和预期产出。。。