在数组中查找某些字符串(Javascript)

时间:2016-05-04 08:47:48

标签: javascript string

我在搜索数组时遇到问题。我想检查一下是否有某个字符串 存在于其中一个元素中,例如

阵列:

["4_1", "4_2", "4_3"]

我将检查其中一个变量中是否存在字符串“4”。

谢谢!

3 个答案:

答案 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));
});