📅  最后修改于: 2023-12-03 15:35:53.742000             🧑  作者: Mango
下划线库(Underscore.js)是一个 JavaScript 工具库,提供了函数式编程风格的实用程序,可以大幅度提高 JavaScript 开发效率。它使用了诸如 map、filter 和 reduce 等常用函数的实用程序,并且包括了大量的函数(例如pluck、invoke和groupBy)来简化你的编程任务。
您可以在 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(list, iteratee, [context])
通过转换函数(iteratee)传入的每个值进行转换,返回一个新的数组。
_.map([1, 2, 3], function(num){ return num * 3; });
// => [3, 6, 9]
_.each(list, iteratee, [context])
迭代列表中的每个元素,为每个元素执行给定的函数。
_.each([1, 2, 3], function(num){ console.log(num); });
// => prints 1, 2, 3
_.filter(list, predicate, [context])
返回一个符合 predicate 真实性测试的所有元素的数组。
_.filter([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; });
// => [2, 4, 6]
_.reduce(list, iteratee, [memo], [context])
序列上的迭代函数,通过应用一个函数来将它缩小成单个值。memo 是归并的初始值,iteratee 可以自定义归并逻辑。
var sum = _.reduce([1, 2, 3], function(memo, num){ return memo + num; }, 0);
// => 6
_.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 开发效率。通过这个库,可以编写更短、更清晰、更易于维护的代码。