javascript - 检查数组是否包含字符串的一部分并找到索引号

标签 javascript arrays

const myArr = [ "blue", "red", "orange", "green" ];

我想知道如何检查数组是否包含字符串的一部分以及匹配字符串的索引号。

我在网上看到过这个,但是索引号不显示位置,除非它是数组中的全名。

myArr.indexOf("oran")

最佳答案

您可以使用 some检查是否至少有一个元素可以验证您的条件:

var hasSome = myArr.some(function(v){ return v.indexOf("oran")>=0 })

如果您需要索引,反向 for 循环是更简单的解决方案:

for (var i=myArr.length; i--;) {
     if (myArr[i].indexOf("oran")>=0) break;
}

循环结束后,i如果没有元素匹配则为-1,如果匹配则为它的索引。

请注意,在 ES6(下一个版本的 JavaScript)中,您将在数组上使用 findfindIndex 方法,并且在 includes 中使用字符串上的方法,这意味着你将能够做

var i = myArr.findIndex(v => v.includes("oran"));

关于javascript - 检查数组是否包含字符串的一部分并找到索引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25554117/

相关文章:

javascript - 如何在 d3.js 中创建家谱?

Javascript ReactJs 将 JsCss 和 Component 放在外部文件中

javascript - 在函数中使用变量值作为变量名

javascript - 如何从服务器获取 AngularJs 数组中每个元素的数据

javascript - 使用reduce 对一系列数字求和

javascript - 如何根据条件删除元素?

c - 在我的 C 程序中遇到结构和数组问题

javascript - React.js 拼接从数组列表中删除错误的项目

javascript - 解析 Javascript 数组

arrays - 将 PFObject append 到数组,导致所有元素被替换(Swift、Parse)