【发布时间】:2016-02-18 22:51:04
【问题描述】:
我最近开始在我的(一些)项目上放弃下划线/lodash 过度使用,并意识到浏览器中没有完全支持 find 方法。 ES6 方法 find 和使用 .shift() over filter 结果有什么区别
var user = users.find(function() { ... } );
或
var user = users.filter(function() { ... } ).shift();
我想对“find”方法有明显的优化(在第一次匹配时停止迭代),但是使用第二种方法可以得到意想不到的结果吗?我应该改用polyfill 吗?为什么?
【问题讨论】:
-
什么意外结果?
-
shift 函数删除数组的第一个元素并返回它。 filter 函数创建一个新数组。我不明白为什么这可能是个问题。有人吗?