Javascript 在字符串中查找数组值

Javascript 在字符串中查找数组值,javascript,arrays,string,Javascript,Arrays,String,我想捕获值是否包含在字符串中。我有一个有限的值列表,可以与一个逗号分隔的可变长度字符串(可能是400个字符)进行匹配。字符串的任何出现只会出现一次,不会有任何重复项,字符串中也不会有静态列表项的两个实例,例如,字符串永远不会同时包含“Poor”和“Ultimate” 项目静态列表 差的一般好的更好的最好的终极 要搜索的字符串 Cake,Good,Pickles,System,Tires 我意识到我可以使用indexOf和一堆IF语句,但我想知道是否有更好的方法,比如将静态列表分配给数组 var

我想捕获值是否包含在字符串中。我有一个有限的值列表,可以与一个逗号分隔的可变长度字符串(可能是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;
    }
}
var myList=[“差”、“一般”、“好”、“更好”、“最好”、“终极”];
var stringList=“蛋糕、好的、腌菜、系统、轮胎”;
对于(变量i=0;i-1)
{
window.alert(“包含:“+myList[i]);
打破
}
}


如果您确信这些值将匹配,并且不需要对列表中的字符串进行任何验证,那么这个简单的循环将起作用。快速、高效且易于维护。

是的,在我看来,您的方式是正确的。看:

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;
    }
}
var myList=[“差”、“一般”、“好”、“更好”、“最好”、“终极”];
var stringList=“蛋糕、好的、腌菜、系统、轮胎”;
对于(变量i=0;i-1)
{
window.alert(“包含:“+myList[i]);
打破
}
}


如果您确信这些值将匹配,并且不需要对列表中的字符串进行任何验证,那么这个简单的循环将起作用。快速、高效且易于维护。

是的,在我看来,您的方式是正确的。看:

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;
    }
}
var myList=[“差”、“一般”、“好”、“更好”、“最好”、“终极”];
var stringList=“蛋糕、好的、腌菜、系统、轮胎”;
对于(变量i=0;i-1)
{
window.alert(“包含:“+myList[i]);
打破
}
}


如果您确信这些值将匹配,并且不需要对列表中的字符串进行任何验证,那么这个简单的循环将起作用。快速、高效且易于维护。

是的,在我看来,您的方式是正确的。看:

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;
    }
}
var myList=[“差”、“一般”、“好”、“更好”、“最好”、“终极”];
var stringList=“蛋糕、好的、腌菜、系统、轮胎”;
对于(变量i=0;i-1)
{
window.alert(“包含:“+myList[i]);
打破
}
}


如果您确信这些值将匹配,并且不需要对列表中的字符串进行任何验证,那么这个简单的循环将起作用。快速、高效且易于维护。

根据您的需要,您可以使用阵列函数forEach或every:

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

myList.forEach(isInString);


function isInString(pVal, pIndex, pArray) {
    if(myString.indexOf(pVal) >= 0) {
        valContainedInString.push(pVal);
    }
}


for(var i = 0; i < valContainedInString.length; i++) {
    console.println(valContainedInString[i]);
}
var myList=['Poor','Fair','Good','Better','Best','Ultimate'];
var myString=“蛋糕、好的、腌菜、系统、轮胎”;
var valcontainedString=[];
myList.forEach(IsInstalling);
函数isInString(pVal、pIndex、pArray){
if(myString.indexOf(pVal)>=0){
ValContainedString.push(pVal);
}
}
对于(var i=0;i
这将输出:“好”


更多信息:

根据您的需要,您可以使用数组函数forEach或every:

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

myList.forEach(isInString);


function isInString(pVal, pIndex, pArray) {
    if(myString.indexOf(pVal) >= 0) {
        valContainedInString.push(pVal);
    }
}


for(var i = 0; i < valContainedInString.length; i++) {
    console.println(valContainedInString[i]);
}
var myList=['Poor','Fair','Good','Better','Best','Ultimate'];
var myString=“蛋糕、好的、腌菜、系统、轮胎”;
var valcontainedString=[];
myList.forEach(IsInstalling);
函数isInString(pVal、pIndex、pArray){
if(myString.indexOf(pVal)>=0){
ValContainedString.push(pVal);
}
}
对于(var i=0;i
这将输出:“好”


更多信息:

根据您的需要,您可以使用数组函数forEach或every:

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

myList.forEach(isInString);


function isInString(pVal, pIndex, pArray) {
    if(myString.indexOf(pVal) >= 0) {
        valContainedInString.push(pVal);
    }
}


for(var i = 0; i < valContainedInString.length; i++) {
    console.println(valContainedInString[i]);
}
var myList=['Poor','Fair','Good','Better','Best','Ultimate'];
var myString=“蛋糕、好的、腌菜、系统、轮胎”;
var valcontainedString=[];
myList.forEach(IsInstalling);
函数isInString(pVal、pIndex、pArray){
if(myString.indexOf(pVal)>=0){
ValContainedString.push(pVal);
}
}
对于(var i=0;i
这将输出:“好”


更多信息:

根据您的需要,您可以使用数组函数forEach或every:

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

myList.forEach(isInString);


function isInString(pVal, pIndex, pArray) {
    if(myString.indexOf(pVal) >= 0) {
        valContainedInString.push(pVal);
    }
}


for(var i = 0; i < valContainedInString.length; i++) {
    console.println(valContainedInString[i]);
}
var myList=['Poor','Fair','Good','Better','Best','Ultimate'];
var myString=“蛋糕、好的、腌菜、系统、轮胎”;
var valcontainedString=[];
myList.forEach(IsInstalling);
函数isInString(pVal、pIndex、pArray){
if(myString.indexOf(pVal)>=0){
ValContainedString.push(pVal);
}
}
对于(var i=0;i
这将输出:“好”

更多信息: