Javascript 如何在数组中查找指定字符串的索引?
我有一个类似的数组Javascript 如何在数组中查找指定字符串的索引?,javascript,jquery,Javascript,Jquery,我有一个类似的数组 var x=[“A | A”、“B | B”、“C | C”] 现在,我想找到'c'的索引,它是x[2]。因此,我们可以通过运行一个“for”循环并使用分隔符“|”拆分每个字符串来获得索引值“c”,我们可以找到它 但是,有什么简单的方法可以找到值吗? var x=[“A | A”、“B | B”、“C | C”]; var指数=-1; x、 forEach(函数(e,i){ 如果(e.indexOf(“c”)!=-1)索引=i; }) 警报(索引) var x=[“A | A
var x=[“A | A”、“B | B”、“C | C”]代码>
现在,我想找到'c'的索引,它是x[2]。因此,我们可以通过运行一个“for”循环并使用分隔符“|”拆分每个字符串来获得索引值“c”,我们可以找到它
但是,有什么简单的方法可以找到值吗?
var x=[“A | A”、“B | B”、“C | C”];
var指数=-1;
x、 forEach(函数(e,i){
如果(e.indexOf(“c”)!=-1)索引=i;
})
警报(索引)代码>
var x=[“A | A”、“B | B”、“C | C”];
var指数=-1;
x、 forEach(函数(e,i){
如果(e.indexOf(“c”)!=-1)索引=i;
})
警报(索引)代码>您可以尝试类似的方法
Array.prototype.customIndexOf = function(str){
var s = str.toUpperCase()+"|"+str;
return this.indexOf(s);
};
var x=["A|a","B|b","C|c"];
x.customIndexOf('c');
一个更好的方法
Array.prototype.customIndexOf = function(str, func){
var s = func(str);
return this.indexOf(s);
}
var x=["A|a","B|b","C|c"];
x.customIndexOf('c', function(arg){
return arg.toUpperCase()+"|"+arg.toLowerCase();
});
你可以试试这样的东西
Array.prototype.customIndexOf = function(str){
var s = str.toUpperCase()+"|"+str;
return this.indexOf(s);
};
var x=["A|a","B|b","C|c"];
x.customIndexOf('c');
一个更好的方法
Array.prototype.customIndexOf = function(str, func){
var s = func(str);
return this.indexOf(s);
}
var x=["A|a","B|b","C|c"];
x.customIndexOf('c', function(arg){
return arg.toUpperCase()+"|"+arg.toLowerCase();
});
这个怎么样:
for(var i in x){
if(x[i].indexOf('c') != -1)
alert(i);
}
这个怎么样:
for(var i in x){
if(x[i].indexOf('c') != -1)
alert(i);
}
在本例中,您可以使用indexOf;如果所有数组元素都是这种格式,为什么要拆分它呢x.indexOf('C | C')
?在本例中可以使用indexOf x.indexOf(“C”);如果所有数组元素都是这种格式,为什么要拆分它呢x.indexOf('C | C')
?我建议稍微修改一下:var s=str.toUpperCase()+'|'+str.toLowerCase()这样,传入的字符串是小写还是大写都无关紧要。这就是grt。一个更好的解决方案是我们可以传递一个回调,用户可以根据需求修改他的搜索字符串。我刚刚更新了我的答案。我建议稍微修改一下:var s=str.toUpperCase()+“|”+str.toLowerCase()这样,传入的字符串是小写还是大写都无关紧要。这就是grt。一个更好的解决方案是我们可以传递一个回调,用户可以根据需求修改他的搜索字符串。我刚刚更新了我的答案。欢迎来到stack overflow,我正在查看你的帖子。关于如何改进您的帖子以及您的答案被接受/投票的几率的一些提示。首先也是最重要的是,确保您解释了您的解决方案是如何解决问题的。或者,尝试提供一个工作小提琴。也可以选择但更可取,它还可以帮助链接到相关文档。如何回答:欢迎来到stack overflow,我正在查看你的帖子。关于如何改进您的帖子以及您的答案被接受/投票的几率的一些提示。首先也是最重要的是,确保您解释了您的解决方案是如何解决问题的。或者,尝试提供一个工作小提琴。也可以选择但更可取,它还可以帮助链接到相关文档。如何回答: