当我删除用户后,我会执行以下代码。
users.filter(obj => obj.id === user.id);
这是错误的,因为现在我的用户对象中只剩下一个用户对象,相反,我应该基于id从列表中删除项目。 所以我想知道是否有任何与过滤函数相反的函数?
当我删除用户后,我会执行以下代码。
users.filter(obj => obj.id === user.id);
这是错误的,因为现在我的用户对象中只剩下一个用户对象,相反,我应该基于id从列表中删除项目。 所以我想知道是否有任何与过滤函数相反的函数?
过滤的反义词是筛选。您只需要指定要保留的内容。
例如,如果您想要奇数:
[1,2,3,4,5,6].filter(x => x%2 != 0);
如果你想要相反的结果:
[1,2,3,4,5,6].filter(x => x%2 == 0);
JavaScript没有像Ruby语言中的Array#reject
那样的filter
函数的反向功能。正如其他答案中提到的,您应该在传递给filter
的函数中否定条件。
你只需在回调函数中更改条件即可。
users.filter(obj => obj.id !== user.id);
如果你需要反转回调函数,你可以这样做:
myArray.filter((x,y,z) => !callbackFunction(x,y,z));
users.filter(obj => obj.id !== user.id);
- WeedozeArray.prototype.keep = function (cb) { return this.filter(i => !cb(i)); }
- decezeusers.keep(obj => obj.id === user.id)
并没有太多意义... - deceze