如何在数组中找到匹配元素,例如
我想在数组元素“Black”中找到单词
数组元素是:["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 :(得分: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.
}
}
已编辑:&#34;&gt; 0&#34;当然是错的,必须是&#34;&gt; = 0&#34;。
答案 1 :(得分: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++
}
&#13;
答案 2 :(得分:0)
尝试在Javascript中使用拆分功能
var color = "Black";
var arr = ["Black footbal scarf", "Blue footbal scar", "Red footbal scar"];
var stringSplit = arr.split(/(?:,| )+/);
alert(stringSplit.indexOf(color));