В filter
функции lodash , если обратный вызов (переданный в качестве аргумента) возвращает истинное значение, которое элемент считал сохраненным в результирующем массиве, в противном случае (в случае возврата ложного значения) он не будет сохранять этот элемент,Ваш isEmpty
вернет true
, если он пуст и, следовательно, результат сохраняет эти значения (null
, undefined
, 0
, ...).Таким образом, вы можете использовать
_.filter(myArray, _.negate(_.IsEmpty))
или _.filter(myArray, v => !_.IsEmpty(v))
Как вы пытаетесь
Или вы можете напрямую использовать _.filter(myArray)
, но в этом случае этоне удалит пустой объект или пустой массив, как и _.filter(myArray, Boolean)
, передача Boolean
не требуется в случае использования lodash
, если вы не хотите отрицать и хотите более простое решение дляудалив все пустые элементы, тогда вы можете использовать
_.reject(myArray, _.isEmpty)