2017-12-03 71 views
-1

我怎样才能找到阵匹配的元素,例如如何找到阵列匹配字

我想在数组元素以查找单词“黑” 数组元素:["Black footbal scarf"] 让我明白如何搭配这通过转换数组字符串,但我怎么能与数组元素做到这一点正是

var color = "Black"; 

var arr = ["Black footbal scarf", "Blue footbal scar", "Red footbal scar"]; 
//Converting to string WORKS 
alert(arr.join("").indexOf(color)); 

alert(arr.indexOf(color)); 

所以我需要从可变颜色的数组索引。

+0

一个简单的[谷歌搜索](https://stackoverflow.com/questions/237104/how-do-i -check-IF-AN-阵列包括-AN-对象中的JavaScript)就足够了。 –

回答

1

只是遍历数组的字符串和每个指标使用.indexOf()。如果结果大于等于0,则表示您的索引值。

var color = "Black"; 
var arr = ["Black footbal scarf", "Blue footbal scar", "Red footbal scar"]; 
var i = 0; 
var l = arr.length; 

for (i = 0; i < l; i++) { 
    if (arr[i].indexOf(color) >= 0) { 
     // var i is your desired index. 
    } 
} 

主编: “> 0” 是错误的当然的,必须是 “> = 0”。

+0

谢谢,我忘了,你需要检查的具体EL,而不是整个阵列 – Andrew

+0

不客气,请把我的更新,我犯了一个错误;-) – iquellis

+0

的方式会是怎样更快通过数组循环,for循环非标准或forEach? – Andrew

0

可以迭代这个数组,检查字的每个元素。

var color = "Black"; 
 

 
var arr = ["Black footbal scarf", "Blue footbal scar", "Red footbal scar"]; 
 

 
let index = 0; 
 
for (let word of arr) { 
 
    if (word.includes(color)) { 
 
    console.log(index); 
 
    console.log(word); 
 
    } 
 
    index++ 
 
}

0

尝试使用分割功能在Javascript

var color = "Black"; 
var arr = ["Black footbal scarf", "Blue footbal scar", "Red footbal scar"]; 
var stringSplit = arr.split(/(?:,|)+/); 
alert(stringSplit.indexOf(color));