如何在数组

时间:2017-12-03 09:32:24

标签: javascript

如何在数组中找到匹配元素,例如

我想在数组元素“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));

所以我需要从变量中获取颜色的数组索引。

3 个答案:

答案 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)

您可以迭代数组,检查单词的每个元素。

&#13;
&#13;
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;
&#13;
&#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));