[英]How do I check if a string matching regex already exists in array with javascript
I am trying to create array of non duplicate line going from end of array to start from another array. 我正在尝试创建非重复行的数组,该重复行将从数组末尾开始,从另一个数组开始。
I tried this: 我尝试了这个:
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])
}
You can use filter
for that. 您可以为此使用
filter
。
Here is an example: 这是一个例子:
var lastArray = resultArray.filter(value => blahRegex.test(value));
Oh, just noticed that you want to keep only unique values. 哦,刚注意到您只想保留唯一的值。
var lastArray = resultArray.reduce((acc, value) => {
if(blahRegex.test(value) && acc.indexOf(value) == -1){
acc.push(value);
}
return acc;
}, []);
What this does is to retain all unique values in the resultArray
array that match the blahRegex
regex. 这样做是在
resultArray
数组中保留与blahRegex
正则表达式匹配的所有唯一值。
您可以结合使用filter
和Set
:
let lastArray = [...new Set(resultArray.filter(value => blahRegex.test(value)))];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.