javascript - 如何使用 Ramda remove 从对象数组中删除空对象?

标签 javascript arrays functional-programming ramda.js

Ramda remove : Ramda Repl link

下面是给定的例子,它从数组中删除特定的数字:

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

为什么会这样呢?

最佳答案

想通了:

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

我需要按非空对象进行过滤。

这是我的 Util.notEmpty 函数:

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

关于javascript - 如何使用 Ramda remove 从对象数组中删除空对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42122172/

相关文章:

javascript - 输入类型 ="file"向邮件添加附件?

javascript - 使用 Google Apps 脚本解析表单提交

javascript - 关联数组/ key 对数组在 Javascript 中以随机的 key 顺序排列。

Python:从二进制数据中解压结构数组的最佳方法是什么

swift - 提高 Swift (3.0) 中高阶函数与循环的性能

javascript - AWS : How to specify dynamodb arn in javascript SDK

javascript - 如何将数据分离到同一 excel 文件中的新工作表

C 多维数组,看不出有什么问题

recursion - 在函数式语言中,编译器如何将非尾递归转换为循环以避免堆栈溢出(如果有的话)?

java - 使用 setter in 或 Else 子句为可选嵌套对象设置默认值