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()var s=str.toUpperCase()+“|”+str.toLowerCase()