2013-03-06 42 views
1

假设我有一个由30个字符串组成的数组。如何使用indexOf来判断Javascript中的某个字符集是否为

我想确定字符串是否包含“ea”字符,然后我会提醒包含ea的字符串。

我想使用indexOf我该怎么做?

比方说,如果我有

新变种=“香蕉”,“苹果”,“橙色”]数组;

我想是这样......

new_an = new.indexOf("an"); 
for (i=0; i < new.length;i++) 
{ 

if (new_an = -1) 
{ 
    alert(new[i]); 
} 
} 

所以只有香蕉和橙子有一个在它和II只想提醒这两个....但不知道我错过了...

+0

请提供您的数组示例! – rab 2013-03-06 10:39:25

+0

'我想确定字符串是**字符串吗?你有30个字符串的数组是正确的? – 2013-03-06 10:39:27

+0

http://whathaveyoutried.com? – 2013-03-06 10:39:59

回答

0

在字符串数组中循环使用以下解决方案。

Example 

Search a string for "welcome": 

var str="Hello world, welcome to the universe."; 
var n=str.indexOf("welcome"); 
The result of n will be: 

13 

See here for more details

0

我只想遍历数组,然后用String.contains()检查你的搜索字符串是否是在原字符串。

str.contains(searchString); 
1

indexOf如果给定字符串中没有匹配,则返回-1。可以这样做:

var arr = ["string 1", "string 2", "string 3", "test"]; 
for(var i = 0; i < arr.length; i++) { 
    if(arr[i].indexOf('str') != -1) { 
    console.log(arr[i]); 
    } 
} 

本实施例的输出应为:串1,串2,串3

0
function searchStringInArray (str, strArray) { 
    for (var j=0; j<strArray.length; j++) { 
     if (strArray[j].match(str)) return j; 
    } 
    return -1; 
} 

j是阵列STR的索引。

0

单向使用filter;

var it = ["aea", "b", "c", "dea", "eee", "fea"]; 
var find = "ea"; 

var matches = it.filter(function(el) { 
    return el.indexOf(find) > -1; 
}); 

alert(matches); 
相关问题