我有這樣如何查找數組中指定字符串的索引?
var x=["A|a","B|b","C|c"];
陣列現在,我想找到關於 'C' 的指數,其爲x [2]。因此,我們可以通過運行「for」循環來獲得'c'的索引值,並將每個字符串與'|'的分隔符分開我們可以找到它。
但是,有沒有簡單的方法來找到值?
我有這樣如何查找數組中指定字符串的索引?
var x=["A|a","B|b","C|c"];
陣列現在,我想找到關於 'C' 的指數,其爲x [2]。因此,我們可以通過運行「for」循環來獲得'c'的索引值,並將每個字符串與'|'的分隔符分開我們可以找到它。
但是,有沒有簡單的方法來找到值?
var x=["A|a","B|b","C|c"];
var index = -1;
x.forEach(function(e, i){
if (e.indexOf("c") !== -1) index = i;
})
alert(index);
你可以嘗試這樣的事情
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();
});
我建議稍作修改:'var s = str.toUpperCase()+'|' + str.toLowerCase();'這樣,傳入的字符串是小寫還是大寫並不重要。 –
這就是grt。一個更好的解決方案是,我們可以傳遞迴調,用戶可以根據需要修改搜索字符串。我剛剛更新了我的答案。 – abs
如何:
for(var i in x){
if(x[i].indexOf('c') != -1)
alert(i);
}
歡迎來到堆棧溢出,我正在評論你的帖子。關於如何改進自己的帖子以及讓自己的答案被接受/提升的幾點建議。首先,確保你解釋你的解決方案如何解決問題。或者,嘗試提供一個工作小提琴。還可以選擇但優先選擇,它也有助於鏈接到相關文檔。如何回答:http://stackoverflow.com/help/how-to-answer –
你可以在這種情況下使用indexOf x.indexOf(「c」); – Adil
如果所有的數組元素都是這種格式,爲什麼要分割它? 'x.indexOf( 'C | C')'? – George