我必须检查变量中的字符串是否全部 数组中的字符串。我很简单,但我不能让它工作!我已经尝试了很多东西但是很复杂而且没有真正起作用。我正在寻找一些建议。
类似的东西:
var myArray = ["cat","dog","bird"];
var myString = "There is a cat looking the bird and a dog looking the cat";
var myString2 = "There is a cat and a dog looking one each other";
myArray和 myString 必须为true且 true 且myArray和 myString2 必须 false
我正在做这样的事情:
var selector = "dir.class#id";
var code = '<div id="id" class="class"></div>';
var tokens = selector.split(/[\.,#]+/);
for (var i = tokens.length - 1; i >= 0; i--) {
var counter = [];
if (code.indexOf(tokens[0]) > -1 ) {
counter.concat(true);
}
}
谢谢!
答案 0 :(得分:2)
你可以做类似下面的事情
var arePresentInText = function (text,words) {
return words.every(function(word){
return text.indexOf(word) > -1;
});
}
console.log(arePresentInText(myString,myArray)); //prints true
console.log(arePresentInText(myString2,myArray)); //prints false
答案 1 :(得分:2)
这应该有效:
var myArray = ["cat","dog","bird", "cat"];
var myString = "There is a cat looking the bird and a dog looking the cat";
var myString2 = "There is a cat and a dog looking one each other";
function checkValue(arr, str){
var cnt = 0;
for(i in arr){
var val = arr[i];
if(str.indexOf(val) > -1) cnt++;
}
return (arr.length == cnt) ? true : false;
}
console.log(checkValue(myArray, myString));
答案 2 :(得分:1)
function checkContainStr(arr, str){
for(i in arr){
if(str.indexOf(arr[i]) == -1)
return false;
}
return true;
}
答案 3 :(得分:0)
尝试使用此功能:
function arrayElementsInString(ary, str){
for(var i=0,l=ary.length; i<l; i++){
if(str.indexOf(ary[i]) === -1){
return false;
}
}
return true;
}
答案 4 :(得分:0)
如果要在单词结尾处匹配字符串,但不一定要在开头处匹配,则需要使用正则表达式或其他处理。
使用 indexOf 进行检查会匹配单词中任何位置的字符序列,而不是最后的字符序列。请考虑以下内容,它们最后匹配字符串或整个单词:
JFrame