underscore.js 学习(二)
编程技术  /  houtizong 发布于 3年前   64
Array Functions 所有数组函数对参数对象一样适用。
1.first _.first(array, [n]) 别名: head, take
返回array的第一个元素,设置了参数n,就返回前n个元素。
//_.firstvar r = _.first([5, 4, 3, 2, 1]);console.log(r); //5var r = _.first([5,4,3,2,1],3);console.log(r); //[5,4,3]
2.initial _.initial(array, [n])
返回数组中除了最后一个元素外的其他全部元素。尤其用于参数对象。传递 n参数将从结果中排除从最后一个开始的n个元素。
//_.initialvar 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个元素。
//_.lastvar r = _.last([5, 4, 3, 2, 1]);console.log(r); //1var r = _.last([5, 4, 3, 2, 1],3);console.log(r); //[3,2,1]
4.rest _.rest(array, [index])
别名: tail, drop
返回数组中除了第一个元素外的其他全部元素。传递index 参数将返回除了第index 个元素以外剩余的所有元素。
//_.restvar 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, "", undefined 和 NaN 都是false值。
//_.compactvar r = _.compact([0, 1, false, 2, '', 3]);console.log(r); //[1, 2, 3]
6.flatten _.flatten(array, [shallow])
将一个嵌套多层的数组array(数组) (嵌套可以是任何层数)转换为只有一层的数组。如果你传递shallow参数,数组将只减少一维的嵌套。
//_.flattenvar 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副本。(注:使用===表达式做相等测试。)
//_.withoutvar 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(数组)。
//_.unionvar 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(数组)里。
//_.intersectionvar r = _.intersection([1, 2, 3], [101, 2, 1, 10], [2, 1]);console.log(r); //[1, 2]
10.difference _.difference(array, *others)
类似于without,但返回的值来自array参数数组,并且不存在于other 数组。
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成
网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];
文章归档
文章标签
友情链接