javascript - 查找字符串中的数组值

标签 javascript arrays string

我想捕获字符串中是否包含某个值。我有一个有限的值列表,要与逗号分隔的可变长度字符串(可能为 400 个字符长)相匹配。字符串的任何出现都只会出现一次,不会有任何重复项,字符串中也不会出现静态列表项的两个实例,例如,字符串永远不会同时包含“Poor”和“Ultimate”。

静态项目列表

差 公平 好 更好 最好 终极

要搜索的字符串

Cake,Good,Pickles,System,Tires

我意识到我可以使用indexOf和一堆IF语句,但我想知道是否有更好的方法,比如将我的静态列表分配给一个数组

var myList=new Array [“Poor”, “Fair”, “Good”, “Better”, “Best”, “Ultimate”];

我不知道如何循环遍历数组和字符串以返回找到的值,例如本例中的“Good”。做到这一点的最佳方法是什么 - 最好定义为最有效、最快和最容易维护(假设这些不矛盾)?

谢谢

最佳答案

是的,我认为你的做法是正确的。看:

var myList= ["Poor", "Fair", "Good", "Better", "Best", "Ultimate"];
var stringList = "Cake,Good,Pickles,System,Tires";

for (var i = 0; i < myList.length; i++)
{
    if (stringList.indexOf(myList[i]) > -1)
    {
        window.alert("Contains: " + myList[i]);
        break;
    }
}

Demo .

如果您确定这些值将匹配,并且不需要对列表中的该字符串进行任何验证,则可以使用简单的循环 - in vanilla js - 将工作。快速、高效且易于维护。

关于javascript - 查找字符串中的数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22840367/

相关文章:

java - 单页应用程序推荐的 GET 框架

php - 您能否按值显式复制包含 "referenced"个元素的 PHP 数组?

javascript - jQuery - .first() 与 [0] 元素

c++ - 在 C/C++ 中连接字符串

javascript - 如何在 JavaScript 中创建字符串有向图?

javascript - 将自动播放添加到此 jQuery 轮播

javascript - 导入/导出 HTML5 localStorage 数据

c - C语言main函数内外自增数组变量

python - 为什么 Python 中的单个反斜杠原始字符串会导致语法错误?

java - 如何将反斜杠后跟 't' 或文件路径中转义字符中的任何其他字母或字符替换为 java 中的正斜杠?