我正在尝试用for
替换_.omit
循环,但似乎无法让它正常工作。
这是我的(工作)for
循环:
for (var propt in params.filter()) {
if (params.filter()[propt] === '') {
delete params.filter()[propt];
}
}
这是下划线代码我试图用以下代码替换它:
_.omit(params.filter(), function(value) {
return value === '';
});
下划线版本不会像我期望的那样省略具有空白值的属性。
答案 0 :(得分:2)
您的第一个版本修改了params.filter()
返回的任何内容(对象...),并从对象本身中删除匹配(空)属性。
第二个下划线版本返回该对象的副本,其中包含除匹配属性之外的所有内容。
如果您可以重新分配值,则可以使用_.omit(...)
的输出作为新值。