📜  下划线库. (1)

📅  最后修改于: 2023-12-03 15:35:53.742000             🧑  作者: Mango

下划线库

下划线库(Underscore.js)是一个 JavaScript 工具库,提供了函数式编程风格的实用程序,可以大幅度提高 JavaScript 开发效率。它使用了诸如 map、filter 和 reduce 等常用函数的实用程序,并且包括了大量的函数(例如pluck、invoke和groupBy)来简化你的编程任务。

特点
  • 编写代码更快。
  • 更简洁的代码。
  • 更简单的数据操作。
  • 兼容主流浏览器和 Node.js。
安装

您可以在 node.js 和 web 上通过以下命令安装该库:

npm install underscore

或者在页面的 <head><body> 中添加以下代码:

<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.13.1/underscore-min.js"></script>
常用方法
map

_.map(list, iteratee, [context])

通过转换函数(iteratee)传入的每个值进行转换,返回一个新的数组。

_.map([1, 2, 3], function(num){ return num * 3; });
// => [3, 6, 9]
each

_.each(list, iteratee, [context])

迭代列表中的每个元素,为每个元素执行给定的函数。

_.each([1, 2, 3], function(num){ console.log(num); });
// => prints 1, 2, 3
filter

_.filter(list, predicate, [context])

返回一个符合 predicate 真实性测试的所有元素的数组。

_.filter([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; });
// => [2, 4, 6]
reduce

_.reduce(list, iteratee, [memo], [context])

序列上的迭代函数,通过应用一个函数来将它缩小成单个值。memo 是归并的初始值,iteratee 可以自定义归并逻辑。

var sum = _.reduce([1, 2, 3], function(memo, num){ return memo + num; }, 0);
// => 6
sortBy

_.sortBy(list, iteratee, [context])

返回排序后的数组。可以通过 iteratee 参数指定排序规则。

_.sortBy([1, 2, 3, 4, 5, 6], function(num){ return Math.sin(num); });
// => [5, 4, 6, 3, 1, 2]
结论

下划线库提供了许多实用函数,可以大幅度提高 JavaScript 开发效率。通过这个库,可以编写更短、更清晰、更易于维护的代码。