2017-12-03 85 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));