📜  lodash 和 Underscore 的区别

📅  最后修改于: 2022-05-13 01:56:23.032000             🧑  作者: Mango

lodash 和 Underscore 的区别

lodashUnderScore都是来自 JavaScript 的实用程序库,它通过提供 utils 使处理数组、数字、对象和字符串变得更加容易。它们提供了一组用于具有强大功能编程任务的常见编程操作的工具。

Lodash:它是一个 JavaScript 实用程序库,可为其代码提供一致性、模块化和性能。它使用函数式编程范式为基本编程任务提供实用功能。 Lodash 的 API 是 Underscore 的超集。它提供了 Underscore 的所有功能,以及一些额外的有用功能,例如 AMD 支持、深度克隆和深度合并。它还提供比下划线更好的整体性能和更大的迭代优化。

Underscore Underscore 是一个现代 JavaScript 库,它提供了大量有用的函数式编程助手,而无需扩展任何内置对象。下划线由 Jeremy Ashkenas 创建。

lodash和下划线的区别:

LodashUnderscore
  • Lodash holds first position amongst the most depended on packages according to Node Package Manager(NPM) from javascript.
  • Underscore holds ninth position amongst the most depended on packages according to Node Package Manager(NPM) from javascript.
  • Lodash has improved syntax for chaining functions.
  • Underscore’s chaining syntax are a bit heavy.
  • Lodash is significantly larger than Underscore with a size of 33KB
  • Underscore lies at about 16KB only.
  • Lodash is fast.
  • Underscore is average in speed.
  • Lodash can handle nested objects.
  • Underscore can handle only the base objects
  • Lodash allows cloning and comparing objects that are deeply nested.
  • Underscore does not allow cloning and comparing of nested objects.

lodash 和 underscore 的不同基本命令具有相同的功能:

它检查谓词是否为集合的任何元素返回 TRUE。

  • 下划线:_.any
  • Lodash:_.some

它检查谓词是否为集合的所有元素返回 TRUE。

  • 下划线:_.all
  • Lodash:_.every

它创建一个从右到左调用给定函数的函数。

  • 下划线:_.compose
  • Lodash:_.flowRight

它查看列表并返回与属性中列出的所有键值对匹配的第一个值。

  • 下划线:_.findWhere
  • Lodash:_.find

它为列表中的每个元素返回一个键,并返回一个带有每个项目索引的对象。

  • 下划线:_.indexBy
  • Lodash:_.keyBy

它在列表中的每个值上调用由方法名称命名的方法。

  • 下划线:_.invoke
  • Lodash:_.invokeMap

它依次转换每个属性的值。

  • 下划线:_.mapObject
  • Lodash:_.mapValues

它返回可以在数组中找到值的索引,如果该值不存在于数组中,则返回 -1。

  • 下划线:_.indexOf
  • Lodash:_.sortedIndexOf

它查看列表中的每个值并返回与属性中列出的键值对匹配的所有值的数组。

  • 下划线:_.where
  • Lodash:_.filter

它将对象转换为键值对列表。

  • 下划线:_.pairs
  • Lodash:_.toPairs