当前位置:首页 > 开发 > Web前端 > JavaScript > 正文

underscore.js 学习(二)

发表于: 2013-08-26   作者:bijian1013   来源:转载   浏览:
摘要:         Array Functions 所有数组函数对参数对象一样适用。1.first   _.first(array, [n])   别名: head, take       返回array的第一个元素,设置了参数n,就

        Array Functions 所有数组函数对参数对象一样适用。
1.first   _.first(array, [n])   别名: head, take
       返回array的第一个元素,设置了参数n,就返回前n个元素。

//_.first
var r = _.first([5, 4, 3, 2, 1]);
console.log(r); //5
var r = _.first([5,4,3,2,1],3);
console.log(r); //[5,4,3]    

2.initial   _.initial(array, [n])
        返回数组中除了最后一个元素外的其他全部元素。尤其用于参数对象。传递 n参数将从结果中排除从最后一个开始的n个元素。

//_.initial
var r = _.initial([5, 4, 3, 2, 1]);
console.log(r); //[5, 4, 3, 2]
var r = _.initial([5, 4, 3, 2, 1], 4);
console.log(r); //[5]

3.last   _.last(array, [n]) 
        返回array(数组)的最后一个元素。传递 n参数将返回数组中从最后一个元素开始的n个元素。 

//_.last
var r = _.last([5, 4, 3, 2, 1]);
console.log(r); //1
var r = _.last([5, 4, 3, 2, 1],3);
console.log(r); //[3,2,1]

4.rest   _.rest(array, [index]) 别名: tail, drop
        返回数组中除了第一个元素外的其他全部元素。传递index 参数将返回除了第index 个元素以外剩余的所有元素。

//_.rest
var r = _.rest([5, 4, 3, 2, 1]);
console.log(r); //[4, 3, 2, 1]
var r = _.rest([5, 4, 3, 2, 1],3);
console.log(r); //[2, 1]

5.compact   _.compact(array)
        返回一个除去所有false值的array副本。在javascript中, false, null, 0, "", undefinedNaN 都是false值。

//_.compact
var r = _.compact([0, 1, false, 2, '', 3]);
console.log(r); //[1, 2, 3]

6.flatten   _.flatten(array, [shallow])
        将一个嵌套多层的数组array(数组) (嵌套可以是任何层数)转换为只有一层的数组。如果你传递shallow参数,数组将只减少一维的嵌套。

//_.flatten
var r = _.flatten([1, [2], [3, [[4]]]]);
console.log(r); //[1, 2, 3, 4];
var r = _.flatten([1, [2], [3, [[4]]]], true);
console.log(r); //[1, 2, 3, [[4]]];
var r = _.flatten([[1,[1.1,[2.2]]], [2], [3, [[4]]]], true);
console.log(r); //[1,[1.1,[2.2]],2,3,[[4]]]

7.without   _.without(array, [*values]) 
        返回一个删除所有values值的array副本。(注:使用===表达式做相等测试。)

//_.without
var r = _.without([1, 2, 1, 0, 3, 1, 4], 0, 1);
console.log(r); //[2, 3, 4]
var r = _.without([{code:'001',name:'TEST001'},{code:'002',name:'TEST002'},{code:'003',name:'TEST003'}],{code:'002',name:'TEST002'});
console.log(r);	//[{code:'001',name:'TEST001'},{code:'002',name:'TEST002'},{code:'003',name:'TEST003'}]

8.union   _.union(*arrays) 
        返回传入的arrays(数组)并集:按顺序返回,数组的元素是唯一的,可以传入一个或多个 arrays(数组)。 

//_.union
var r = _.union([1, 2, 3], [101, 2, 1, 10], [2, 1]);
console.log(r); //[1, 2, 3, 101, 10]

9.intersection   _.intersection(*arrays)
         返回传入arrays(数组)交集。结果中的每个值是存在于传入的每个arrays(数组)里。

//_.intersection
var r = _.intersection([1, 2, 3], [101, 2, 1, 10], [2, 1]);
console.log(r); //[1, 2]

10.difference   _.difference(array, *others)
         类似于without,但返回的值来自array参数数组,并且不存在于other 数组。

 

underscore.js 学习(二)

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
学习新知识有时候很难决定是做深度遍历还是广度遍历,比如那么多javascript框架,是先都走马观花看
如果您有任何建议,或者拍砖,欢迎在微博上@愚人码头 联系我。 <iframe style="font-family: 'He
_.each() _.each(list, iterator, [context]); 按顺序遍历输出每个元素。如果传递了context参数,则
underscore是一个非常实用的JavaScript库,提供许多编程时需要的功能的支持,他在不扩展任何JavaScr
underscore是一个非常实用的JavaScript库,提供许多编程时需要的功能的支持,他在不扩展任何JavaScr
函数节流在日常的DOM界面数据交互中有比较大的作用,可以减少服务器的请求,同时减少客户端的内存影
_.find(); _.find(list, predicate, [context]); 在list中逐项查找,返回第一个通过predicate迭代函
_.every() 匹配所有,所有通过返回真,返回布尔 _every(list, pre); list中所有元素都通过pre的真值
_.max() 返回list中最大值,作为iterator排序的依据 _.max(list, [iterator], [context]); _.min()返
Underscore.js是一个很精干的库,压缩后只有5.2KB。它提供了几十种函数式编程的方法,弥补了标准库
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号