codecamp

Node.js underscore

Underscore(npm install underscore)是目前为止NPM上最流行的JavaScript库,是有最大数量dependent的库。

它被称为underscore是因为它在浏览器中使用时创建一个全局变量“_”。

在node中,我们可以将从require(“underscore”)返回的变量命名为任何我们想要的变量,但是通常仍然做 var _ = require(“underscore")

Underscore为JavaScript提供了大量的函数式编程支持。

filter

要在数字数组中过滤大于100的元素。

函数_.filter接受一个数组,将数组的每个元素传递给一个函数(第二个参数),并返回一个包含第二个函数返回true的所有元素的数组。

var foo = [1111, 10, 50, 200, 9, 90, 40]; 
var _ = require("underscore"); 
var results = _.filter(foo, function (item) { return item > 100 }); 
console.log(results); 

_.map函数接受一个数组,为数组的每个元素调用一个函数存储返回值作为结果,并返回一个由所有结果组成的新数组。基本上通过函数将输入数组映射到输出数组。将数组的每个元素乘以2。

map

如下所示,我们可以很简单地使用_.map。

var foo = [1, 2, 3, 4]; 
var _ = require("underscore"); 
var results = _.map(foo, function (item) { return item * 2 }); 
console.log(results); 

获取集合中除符合条件的元素之外的所有元素。

reject

为此,我们可以使用_.reject。

获取数组中的奇数元素的示例如下所示。

var _ = require("underscore"); 
var odds = _.reject([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; }); 
console.log(odds); // [1, 3, 5] 

要获取数组的最大元素使用_.max,获取最小使用_.min:

var _ = require("underscore"); 
var numbers = [10, 5, 100, 2, 1000]; 
console.log(_.min(numbers)); // 2 
console.log(_.max(numbers)); // 1000 


Node.js 包链接
Node.js optimist
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }