for循环,调用另一个函数在1次迭代后停止

时间:2017-10-02 11:17:44

标签: javascript arrays function for-loop return

我有一个非常简单的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循环中的逻辑,这可以正常工作,所以我相信意外停止与我调用的函数有关 - 我很困惑为什么这个返回单个整数的简单函数会停止我的循环。

任何帮助表示赞赏!

0 个答案:

没有答案