我有这个数组:var arr = ["hi","heya","hello"]
我需要找到包含“嘿”的任何元素,因为该元素不一定是“嘿”,所以“heya”很重要。
所以我需要这样的东西:
var arr = ["hi","heya","hello"];
if($.inArray("hey",arr) != -1) alert("hey found!");
没有显示任何内容,但我需要它。
我该怎么做?
答案 0 :(得分:1)
在循环中,indexOf可以解决问题。
var arr = ["hi","heya","hello"];
var found = false;
$.each(arr, function(index, value){
if (value.indexOf("hey") !== -1){
found = true;
return false;
}
});
if(found){
alert('hey found');
}
else{
alert('hey not found');
}
答案 1 :(得分:1)
您可以为此构造正则表达式,并使用grep
函数将测试应用于数组的每个元素
var arr = ["hi","heya","hello"];
var search = new RegExp("hey" , "i");
var array = $.grep(arr, function (value) {
return search.test(value);
});
/* Array Contains Elements Like */
if(array.length==0) console.log("Not Found");
else{
console.log("found!");
console.log(array);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 2 :(得分:0)
您可以通过lopping搜索单词。以下代码可以帮助您。
$(document).ready(function () {
var arr = ["hi","heya","hello"];
$.each(arr, function( index, value ) {
var data = value.search('hey');
if (data === 0) {
alert(value);
}
});
});