Javascript 如何获取包含字符串的数组的索引?

Javascript 如何获取包含字符串的数组的索引?,javascript,Javascript,我想买水果。尝试: var qs = ["color=green", "pet=dog", "fruit=apple] 返回0 我希望它返回2,数组中的最后一个条目?如何找到我想要的数组值?你几乎就得到了,你需要在索引上做一个中断,或者创建一个新数组,并将具有匹配索引的数组推送到该数组中 for (var j=0; j<qs.length; j++) {qs[j].indexOf('fruit')} 如果你只想要一个索引,就打破它 var arr = []; for (var j=0

我想买水果。尝试:

var qs = ["color=green", "pet=dog", "fruit=apple]
返回0


我希望它返回2,数组中的最后一个条目?如何找到我想要的数组值?

你几乎就得到了,你需要在索引上做一个中断,或者创建一个新数组,并将具有匹配索引的数组推送到该数组中

for (var j=0; j<qs.length; j++) {qs[j].indexOf('fruit')}
如果你只想要一个索引,就打破它

var arr = [];

for (var j=0; j<qs.length; j++) 
{
    if(qs[j].indexOf('fruit')!==-1){
        arr.push(j);
    }
}
//print all the indexes that contain fruit
for(var i in arr)
console.log(arr[i]);
如果你想推广它,可以把它变成一个函数

var matchingIdx=-1;
for (var j=0; j<qs.length; j++) 
{
    if(qs[j].indexOf('fruit')!==-1){
       matchingIdx = j;
       break;
    }
}
如果您只希望第一个元素的索引在数组中包含'fruit',只需返回j

function gettingMatchingIndexes(qs, target) {
    var arr = [];
    for (var j=0; j<qs.length; j++) 
    {
        if(qs[j].indexOf(target)!==-1){
            arr.push(j);
        }
    }
    return arr;
}

qs[j].indexOf'fruit'返回'fruit'在qs[j]中的位置,而不是所需的qs[j]在qs中的位置

字符串中的任意位置:

让qs=[颜色=绿色,宠物=狗,水果=苹果]]; 设res=qs.findIndexe=>e.包含“水果”;
console.logres;因此,您希望获取包含单词fruit的数组的索引?qs.findIndexs=>s.includes'fruit'。FelixKling-您不是最好提到浏览器兼容性吗:p@JaromandaX:这就是为什么它是一个评论@费利克斯克林-打得好,长官:波普并不期待一个阵型,而是一个index@Rayon好的,这是一个包含所有匹配索引的数组,如果他在你找到它时只想要一个,而不是把它放在一个数组中的话。非常感谢你,我可能应该在发布之前仔细考虑一下
function findFirstFruitIndex() {
 for (var j = 0; j < qs.length; j++) {
  if (qs[j].indexOf('fruit') > -1) return j;
 }
}