这是来自这个主题:
Best way to take out keys with invalid (NaN, blank, etc) values from an object?
我无法使用评论者的下划线方法,因为Meteor只使用Underscore 1.0.0,某些功能不像Underscore 1.7.0那样有用。
来自Meteor Docs:
我们稍微修改了Underscore在集合函数中区分对象和数组的方式。原始的Underscore逻辑是将具有数字长度属性的任何对象视为数组(这有助于它在NodeLists上正常工作)。在Meteor版本的Underscore中,具有数字长度属性的对象如果没有原型则被视为对象(具体来说,如果x.constructor === Object。
所以看来Meteor已经改变了Underscore。
有没有人强迫Meteor在他们的应用程序中使用Underscore 1.7.0并且有任何奇怪之处?
答案 0 :(得分:4)
如果你查看meteor存储库中underscorejs包的history,你会发现它们实际上改变了下划线库而不是monkeypatching它。 (here和here)
所以我强烈建议不要升级underscorejs版本。
如果你真的必须升级,我建议尝试将meteor版本的提交应用到最新版本。幸运的是,该程序包确实包含tests用于流星团队所做的修复。所以首先升级underscorejs文件,然后运行测试,如果它们全部通过你可能会很好。