функция высшего порядка javascripts

Я пытаюсь понять лучше и начать кодирование JS с функциями более высокого порядка. Ниже приведена только практика, и я хочу вывести массив чисел * 2.

function each(collection, callback) {
  for(var i = 0; i < collection.length; i++) {
    callback(collection[i]);
    }
}

function isNumber(item) {

  var arr = [];
    if(typeof item === "number") {
      arr.push(item * 2);
    }

  return arr;
}

each([1, 2, 3, 4, "String"], isNumber);

Насколько я понимаю, когда каждая функция () вызывается с массивом и аргументом isNumber, она запускается через функцию каждая. Когда каждая функция вызывается, она вызывает функцию isNumber с массивом [i], затем вызывается функция isNumber с этим массивом [i], и если тип массива [i] является числом, она выталкивает это число * 2 к массив. Результат, который я ожидаю

[2, 4, 6, 8] since "String" is not a number it never got pushed into the array.

Я не правильно понимаю это? Когда я пытаюсь записать этот код, ничего не отображается.

Ответы на вопрос(2)

Ваш ответ на вопрос