我在搜索数组时遇到问题。我想检查一下是否有某个字符串 存在于其中一个元素中,例如
阵列:
["4_1", "4_2", "4_3"]
我将检查其中一个变量中是否存在字符串“4”。
谢谢!
答案 0 :(得分:3)
你可以使用循环。
var arr = ["4_1", "4_2", "4_3"];
search = RegExp(4),
result = arr.some(search.test.bind(search));
document.write(result);
答案 1 :(得分:1)
最简单的方法是使用Array.prototype.join
&& indexOf
方法
["4_1", "4_2", "4_3"].join("").indexOf("4")
<强> 更新 强>
根据@ t.niese的评论,这个答案可能会导致错误的结果,例如,如果您正在寻找14
,它将返回2
- 出了什么问题,因为您的数组不包含从14
开始的元素。在这种情况下,最好使用@Nina的答案,或者你可以用另一种方式加入
["4_1", "4_2", "4_3"].join(" ").indexOf("14") // -1
答案 2 :(得分:0)
您实际上可以循环并检查indexOf
是否不是-1
:
["4_1", "4_2", "4_3"].forEach(function (element, index, array) {
if (element.indexOf(4) != -1)
alert("Found in the element #" + index + ", at position " + element.indexOf(4));
});