社区在 4 个月前审查了是否重新打开此问题并将其关闭:
未解决原始关闭原因
我创建 Lodash 是为了为数组、字符串、对象和对象1 提供更一致的跨环境迭代支持。此后,它已成为Underscore.js的超集,提供了更一致的API行为,更多的功能(如AMD支持,深度克隆和深度合并),更全面的文档和单元测试(在Node.js,RingoJS,Rhino,Narwhal,PhantomJS和浏览器中运行的测试),更好的整体性能和大型数组/对象迭代的优化,以及自定义构建和模板预编译实用程序的更大灵活性。arguments
由于 Lodash 的更新频率高于 Underscore.js,因此提供了一个构建以确保与 Underscore.js 的最新稳定版本兼容。lodash underscore
有一次,我甚至获得了对 Underscore.js 的推送访问权限,部分原因是 Lodash 负责提出 30 多个问题;登陆错误修复、新功能和性能提升在下划线.js v1.4.x+。
此外,至少有三个 Backbone.js 样板默认包含 Lodash,Lodash 现在在 Backbone 的官方文档中被提及.js。
查看Kit Cambridge的帖子,对Lo-Dash说“Hello”,以更深入地了解Lodash和Underscore.js之间的差异。
脚注:
arguments
arguments
_.clone
_.flatten
Lodash的灵感来自Underscore.js,但现在它是一个卓越的解决方案。您可以进行定制构建,具有更高的性能,支持AMD并具有出色的额外功能。检查这个 洛达什 vs. 下划线.js jsperf 上的基准测试和…这篇关于洛达什的精彩帖子:
当您使用集合时,最有用的功能之一是速记语法:
(尽管 Underscore 现在也支持此语法)
var characters = [
{ 'name': 'barney', 'age': 36, 'blocked': false },
{ 'name': 'fred', 'age': 40, 'blocked': true }
];
// Using "_.filter" callback shorthand
_.filter(characters, { 'age': 36 });
// Using Underscore.js
_.filter(characters, character => character.age === 36);
// → [{ 'name': 'barney', 'age': 36, 'blocked': false }]
(摘自 Lodash 文档)
如果像我一样,您期望 Underscore.js 和 Lodash 之间的使用差异列表,那么有一个从 Underscore.js 迁移到 Lodash 的指南。
这是后人对它的当前状态:
- 下划线是洛达什
_.any
_.some
- 下划线是洛达什
_.all
_.every
- 下划线是洛达什
_.compose
_.flowRight
- 下划线是洛达什
_.contains
_.includes
- 下划线不允许通过返回退出
_.each
false
- 下划线是洛达什
_.findWhere
_.find
- 默认情况下,下划线较深,而 Lodash 较浅
_.flatten
- 下划线支持传递参数的迭代,而在 Lodash 中,
迭代只传递一个参数:。_.groupBy
(value, index, originalArray)
_.groupBy
(value)
- 下划线.js第三个参数是 Lodash
_.indexOf
undefined
_.indexOf
- 下划线.js第三个参数是 Lodash
_.indexOf
true
_.sortedIndexOf
- 下划线是洛达什
_.indexBy
_.keyBy
- 下划线是洛达什
_.invoke
_.invokeMap
- 下划线是洛达什
_.mapObject
_.mapValues
- 下划线组合洛达什
_.max
_.max
&_.maxBy
- 下划线组合洛达什
_.min
_.min
&_.minBy
- 下划线组合洛达什
_.sample
_.sample
&_.sampleSize
- 下划线结合了洛达什和
_.object
_.fromPairs
_.zipObject
- 谓词下划线是 Lodash
_.omit
_.omitBy
- 下划线是洛达什
_.pairs
_.toPairs
- 谓词下划线是 Lodash
_.pick
_.pickBy
- 下划线是洛达什
_.pluck
_.map
- 下划线组合洛达什
_.sortedIndex
_.sortedIndex
&_.sortedIndexOf
- 下划线由 是 洛达什
_.uniq
iteratee
_.uniqBy
- 下划线是洛达什
_.where
_.filter
- 下划线与
(例如 在下划线中返回.js,但在洛达什)_.isFinite
Number.isFinite
_.isFinite('1')
true
false
- 下划线速记不支持深度比较
(例如,_.matches
_.filter(objects, { 'a': { 'b': 'c' } })
)- 下划线 ≥ 1.7 和 Lodash 语法是
_.template
_.template(string, option)(data)
- 洛达什缓存就像对象
_.memoize
Map
- Lodash不支持许多方法的论点,以支持
context
_.bind
- Lodash 支持隐式链接、惰性链接和快捷方式融合
- Lodash 将其重载 、、 和 拆分为
、、 和
(即 在下划线中.js在洛达什中)_.head
_.last
_.rest
_.initial
_.take
_.takeRight
_.drop
_.dropRight
_.head(array, 2)
_.take(array, 2)
模板简介:该模板名称为【在 JavaScript 中Lodash 和 Underscore.js 之间的差异】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【JavaScript】栏目查找您需要的精美模板。