[英]How do I get the index of an array where it contains a string?
var qs = ["color=green", "pet=dog", "fruit=apple]
我想吃水果。 尝试过:
for (var j=0; j<qs.length; j++) {qs[j].indexOf('fruit')}
返回0。
我希望它返回2,最后输入int他是数组吗? 如何找到我想要的数组值?
差不多了,您需要中断索引或创建一个新数组,然后将具有匹配索引的数组推入该数组
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;
}
}
如果您想对此进行概括,可以将其放入函数中
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;
}
如果只希望第一个元素的索引在数组中包含“水果”,则只需返回j
。
function findFirstFruitIndex() {
for (var j = 0; j < qs.length; j++) {
if (qs[j].indexOf('fruit') > -1) return j;
}
}
qs[j].indexOf('fruit')
返回'果实'的位置qs[j]
代替的位置qs[j]
在qs
(要)。
字符串中的任何位置:
let qs = ["color=green", "pet=dog", "fruit=apple]"]; let res = qs.findIndex(e => e.includes('fruit')); console.log(res);
按键上的完全匹配:
let qs = ["color=green", "pet=dog", "fruit=apple]"]; let res = qs.findIndex(e => e.match(/^fruit=/)); console.log(res);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.