2017-02-08 2 views
2

Ramda remove: Ramda Repl linkКак использовать Ramda удалить, чтобы удалить пустой объект из массива объектов?

Ниже в данном примере, он удаляет определенные номера из массива:

R.remove(2, 3, [1,2,3,4,5,6,7,8]); //=> [1,2,6,7,8]

Теперь я создал массив объектов, один из которых пустой:

var objArray = [{id: 1, name: 'Leon'},{id: 2, name: 'Paulo'},{}]; 

Когда я пытаюсь:

R.remove({}, objArray);

или

R.remove(R.isEmpty, objArray);

Она возвращает функцию:

enter image description here

С чего бы это ты думаешь?

ответ

4

Фигурные это:

const filteredAlerts = R.filter(Util.notEmpty, res.alerts);

мне нужно фильтровать объекты, которые не являются пустыми.

Это моя Util.notEmpty функция:

const notEmpty = R.compose(R.not, R.isEmpty);

+6

приятнее способ определить '' notEmpty' является R.complement (R.isEmpty) '. Еще лучше использовать 'R.reject', а не' R.filter'. Тогда выражение будет «R.reject (R.isEmpty, res.alerts)», не требуя вспомогательной функции. :) – davidchambers

+1

@LeonGaban, относительно материала ramda, [davidchambers] (https://github.com/ramda/ramda/graphs/contributors) будет вашим любимым парнем – naomik

+0

@naomik спасибо! Начиная с него сейчас, любите Рамду :) –

Смежные вопросы