如何正确使用_.omit

时间:2015-09-22 21:09:18

标签: javascript underscore.js

我正在尝试用for替换_.omit循环,但似乎无法让它正常工作。

这是我的(工作)for循环:

  for (var propt in params.filter()) {
    if (params.filter()[propt] === '') {
      delete params.filter()[propt];
    }
  }

这是下划线代码我试图用以下代码替换它:

_.omit(params.filter(), function(value) {
  return value === '';
});

下划线版本不会像我期望的那样省略具有空白值的属性。

1 个答案:

答案 0 :(得分:2)

您的第一个版本修改了params.filter()返回的任何内容(对象...),并从对象本身中删除匹配(空)属性。

第二个下划线版本返回该对象的副本,其中包含除匹配属性之外的所有内容。

如果您可以重新分配值,则可以使用_.omit(...)的输出作为新值。