我有一个非常简单的for循环,似乎在1次迭代后停止。
这是循环:
arr = ["SUCCESS", "SUCCESS", "FAILURE", "ERROR"]
function getArrayOfOccurrences(array) {
var occurrences = [];
for (i = 0; i < array.length; i++) {
var count = countOccurrencesInArray(array, array[i]);
occurrences.push(count);
}
return occurrences;
}
...这是我打电话的功能:
function countOccurrencesInArray(array, value) {
var count = 0;
for (i = 0; i < array.length; i++) {
if (array[i] == value) {
count++
}
}
return count;
}
getArrayOfOccurrences(arr)
的输出为[2]
。我希望看到[2, 2, 1, 1]
。所以似乎我的循环在1次迭代后停止。
如果我用getArrayOfOccurrences
替换console.log(array[i])
中for循环中的逻辑,这可以正常工作,所以我相信意外停止与我调用的函数有关 - 我很困惑为什么这个返回单个整数的简单函数会停止我的循环。
任何帮助表示赞赏!