要求:
給定字符串oabcoefoxyozzopp
,要求輸出字符o
出現的位置和次數。
實現思路:
- 先查找第一個o出現的位置
- 然后只要判斷
indexOf
返回的結果,若不是-1,則繼續往后查找 - 因為
indexOf
只能查找到第一個,所以后面的查找,利用第二個參數,在當前索引加1,str.indexOf('o', index + 1)
,從而繼續查找
代碼實現:
var str = "oabcoefoxyozzopp";
var index = str.indexOf('o');
// 先找到第一個o的位置,幅值給index
var num = 0;
// num表示o出現的次數
while (index !== -1) {
// 如果index不等於-1表示還沒查找完,則繼續查找
// 若index等於-1,則表示當前索位置之后沒有o了,退出循環
console.log(index);
// 輸出當前的位置
num++;
index = str.indexOf('o', index + 1);
// 在當前的索引位置+1,重新賦值給index,從后一個位置繼續查找
}
console.log('“o”出現的次數是: ' + num);
輸出結果:
0
4
7
10
13
“o”出現的次數是: 5