function occurrence(string,substring) {
var counter = 0;
var sub = substring.toLowerCase();
var str = string.toLowerCase();
var array = []
var ans;
for (var i = 0; i < str.length; i++) {
if (str.indexOf(sub) != -1) {
array[counter] = str.indexOf(sub);
counter += 1;
ans = array.length
alert(array); //tester to see inside array
} else {
ans = 0;
}
}
return ans
}
alert(occurrence("Party arty art","art")) //tester to see function in action
上記のテスターでは、3 が出力されます。しかし、私のコードでは、文字列の長さが出力されます。「アート」が文字列に表示される場所のインデックスを配列に格納して、配列を出力して出現回数を示すことができるようにしようとしています。ただし、ループ内で配列に警告すると、「1、1、1、1、1、1、1、1、1、1、1、1、1、1」と出力されます。
注: 組み込み関数をできるだけ少なくして、このコードを記述しようとしています。私はJavaScriptが初めてなので、いくつかのガイダンスをいただければ幸いです。
また、私は .match() なしでこれを書こうとしています