所以,我有一个带有字符串的数组。现在,我要检查一个字符串是否在数组中至少包含一个thoose字符串。
{
"filter" : [
"ABDC",
"ADBAC"
]
}
var string1 = "ABCD";
var string2 = "ABDC sample";
var string3 = "ADBACABDC";
现在我想要一个函数,该函数返回true
和string2
上的string3
和false
上的string1
在node.js上实现此目标的最佳方法是什么?
答案 0 :(得分:1)
使用Array.some,对于每个条目,检查字符串includes是否为过滤器:
const data = {
"filter" : [
"ABDC",
"ADBAC"
]
}
var string1 = "ABCD";
var string2 = "ABDC sample";
var string3 = "ADBACABDC";
const check = (arr, string) => {
return arr.some(e => string.includes(e));
}
console.log(check(data.filter, string1));
console.log(check(data.filter, string2));
console.log(check(data.filter, string3));
答案 1 :(得分:0)
会是这样的
function checkString(stringsArray, stringToCheck) {
return !!stringsArray.find((str) => stringToCheck.indexOf(str) > -1);
}
然后,您需要使用过滤器和要检查的每个字符串来调用此函数:
const filter = [
"ABDC",
"ADBAC"
];
var string1 = "ABCD";
var string2 = "ABDC sample";
var string3 = "ADBACABDC";
checkString(filter, string1);
checkString(filter, string2);
checkString(filter, string3);
答案 2 :(得分:0)
dir=/usr/local/bin
sudo update-alternatives --install $dir/sf somefile $dir/somefile.sh 10
答案 3 :(得分:0)
尝试一下:
var obj = { "filter" : [ "ABDC", "ADBAC" ] } ;
function test(str) {
for ( var i = 0; i < obj["filter"].length; i++ ) {
patt = new RegExp(obj["filter"][i]) ;
if ( patt.test(str) ) break;
}
console.log(str + " ==> " + patt.test(str) )
}
test( "ABCD" ) ;
test( "ABDC sample" ) ;
test( "ADBACABDC" ) ;