如何檢查字符串內字符的索引?獲取indexOf字符串內的字符javascript
var str = 'alabama';
alert(str.indexOf('a'));
「indexOf」方法似乎只適用於字符的第一次出現。 任何想法?
如何檢查字符串內字符的索引?獲取indexOf字符串內的字符javascript
var str = 'alabama';
alert(str.indexOf('a'));
「indexOf」方法似乎只適用於字符的第一次出現。 任何想法?
您可以編寫自己的函數:
function charIndexes(string, char) {
var i, j, indexes = []; for(i=0,j=string.length;i<j;++i) {
if(string.charAt(i) === char) {
indexes.push(i);
}
}
return indexes;
}
要找到後續出現,你需要的第二個參數提供給.indexOf
,從一個比找到的最後一個出現較高的反覆啓動。
String.prototype.allIndexesOf = function(c, n) {
var indexes = [];
n = n || 0;
while ((n = this.indexOf(c, n)) >= 0) {
indexes.push(n++);
}
return indexes;
}
測試:
> "alabama".allIndexesOf("a")
[0, 2, 4, 6]
編輯功能更新,以允許fromIndex
的規範,每String.indexOf
。
var str = 'alabama',i=0, ci=[];
while((i=str.indexOf('a',i))!=-1) ci.push(i++);
alert(ci.join(', '));
你想做什麼?查找所有出現的'a'?數一下'a's? – arb
我試圖獲得'a's的索引。事實上,我需要學習這個過程,以便我可以用它來識別char的位置並用div來包裝它。 – darksoulsong
如果你不得不用div來包裝它,爲什麼不用'str.replace(/ a/g,「