Underscore.js常用方法总结
简介
Underscore.js是一个JavaScript实用库,提供了一整套函数式编程的实用功能,同时提供了对JavaScript原生对象的高效操作。它是一个小巧的库,拥有丰富的API和易于使用的语法,适合于前端开发者使用。
常用方法总结
1. _.each
方法描述:
_.each(list, iteratee, [context])
在list中的每一个元素上执行iteratee方法,如果list是一个JavaScript对象,iteratee的参数是(value, key),如果list是一个数组,iteratee的参数是element, index,如果有context参数,iteratee绑定到context上。
示例:
// 遍历数组
_.each([1, 2, 3], function(num){ console.log(num); });
// 遍历对象
_.each({one: 1, two: 2, three: 3}, function(num, key){ console.log(key); });
2. _.map
方法描述:
_.map(list, iteratee, [context])
遍历list中的每个元素,执行iteratee方法,将结果存入一个新的数组返回。
示例:
// 数组映射
var result = _.map([1, 2, 3], function(num){ return num * 3; });
console.log(result); // [3, 6, 9]
// 对象映射
var result = _.map({one: 1, two: 2, three: 3}, function(num, key){ return num * 3; });
console.log(result); // [3, 6, 9]
3. _.filter
方法描述:
_.filter(list, predicate, [context])
返回list中符合条件的元素,predicate方法由用户自定义,参数为(value, index/array),返回布尔值。
示例:
// 数组过滤
var result = _.filter([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; });
console.log(result); // [2, 4, 6]
// 对象过滤
var result = _.filter({one: 1, two: 2, three: 3, four: 4, five: 5, six: 6}, function(num, key){ return num % 2 == 0; });
console.log(result); // [2, 4, 6]
4. _.reduce
方法描述:
_.reduce(list, iteratee, [memo], [context])
遍历list元素,对每个元素执行iteratee方法,memo是reduce函数的初始值,也是iteratee函数最初使用的第一个参数的值。如果没有传入memo,则默认使用第一个元素作为memo的初始值,memo的值会在每次执行iteratee时被更新,最后返回这个memo值。
示例:
// 数组reduce
var result = _.reduce([1, 2, 3], function(sum, num){ return sum + num; }, 0);
console.log(result); // 6
// 对象reduce
var result = _.reduce({one: 1, two: 2, three: 3}, function(sum, num){ return sum + num; }, 0);
console.log(result); // 6
5. _.sortBy
方法描述:
_.sortBy(list, iteratee, [context])
将list排序,排序方式由iteratee方法决定,如果是字符串或正整数,则按照对应的属性值排序,如果是方法,则按照方法返回值排序。
示例:
// 数组排序
var result = _.sortBy([1, 4, 2, 3, 5, 6], function(num){ return Math.sin(num); });
console.log(result); // [5, 4, 6, 3, 1, 2]
// 对象排序
var result = _.sortBy([{name: 'Adam', age:25}, {name: 'Bob', age: 20}, {name: 'Carl', age: 30}], 'age');
console.log(result); // [{name: 'Bob', age: 20}, {name: 'Adam', age:25}, {name: 'Carl', age: 30}]
结语
以上就是Underscore.js常用方法的总结,使用这些方法可以极大地提高JavaScript开发效率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Underscore.js常用方法总结 - Python技术站