В чем разница между двумя fliter для массивов?

Есть код, который работает:

function filter_list(l) {
return l.filter(item => typeof (item) == 'number')
}

И есть код, который не работает:

function filter_list(l) {
    return l.filter(function (item) {
        typeof (item) == 'number'
    })
}

В чем разница? Суть задачи в том, чтобы выводить числа.


Ответы (2 шт):

Автор решения: Алексей Шиманский

Во втором случае забыли return перед typeof (item) == 'number'

→ Ссылка
Автор решения: Crus

В данном случаи стрелочная функция без фигурных скобок. Ей не нужен return, все что будет написано там в строку - вернется.

function filter_list(l) {
    return l.filter(item => typeof (item) == 'number')
}

Еще это могло бы быть записано вот так вот

function filter_list(l) {
    return l.filter(item => { 
      return typeof (item) == 'number'
    })
}

Во втором случаи - это обычная функция, которой, как и написал Алексей - нужен return

→ Ссылка