`

underscore.js 学习(二)

阅读更多

        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源码

    underscore.js源码,适合初始化学习javascript,强烈推荐

    bcakbone.js中Underscore.js实现的视图与子视图

    通过学习和理解这些示例,开发者可以更好地掌握如何在实际项目中结合Backbone.js和Underscore.js,构建出高效、可维护的前端应用。同时,这个主题也鼓励开发者深入研究函数式编程的思想,提升代码质量。总之,...

    前端项目-underscore.string.zip

    首先,underscore.string是underscore.js库的一个扩展,它为JavaScript的String对象添加了超过150个实用方法,涵盖了字符串处理的各个方面,如格式化、分割、查找替换、大小写转换等。这个库的设计理念是使字符串...

    javascript函数式编程 underscore.js

    Underscore.js是一个轻量级的JavaScript实用库,它为开发者提供了大量函数式编程工具,使得在JavaScript中实践函数式编程变得更加容易。 在JavaScript中,函数式编程的核心概念包括: 1. **纯函数**:一个纯函数在...

    微信小程序demo:使用第三方模块Underscore.js,Immutable.js,UUID.rar

    在这个“微信小程序demo”中,开发者利用了三种重要的第三方JavaScript库:Underscore.js、Immutable.js和UUID,来增强小程序的功能和性能。 **Underscore.js** 是一个轻量级的JavaScript实用工具库,提供了大量的...

    underscore-1.6.0.zip

    underscore.js是一款轻量级的JavaScript实用库,它为JavaScript开发提供了大量的实用函数,极大地增强了原生JavaScript对象的处理能力。在"underscore-1.6.0.zip"这个压缩包中,包含的就是underscore库的1.6.0版本。...

    微信小程序demo:使用第三方模块Underscore.js,Immutable.js,UUID.zip

    本示例中的“微信小程序demo”就展示了如何使用两个常用的JavaScript库——Underscore.js和Immutable.js,并且生成了一个UUID。下面将详细介绍这三个库及其在微信小程序中的应用。 **Underscore.js** Underscore.js...

    underscore.js-learning:underscore.js源码学习笔记

    《深入剖析underscore.js:源码探索与学习指南》 在JavaScript的世界里,underscore.js是一个备受开发者喜爱的轻量级库,它提供了丰富的实用函数,帮助我们处理数组、对象、函数等核心数据类型,大大简化了代码。本...

    underscore.js

    underscore.js,作为一款轻量级的JavaScript库,它提供了一整套实用的功能,旨在简化和优化JavaScript开发中的常见任务。在本文中,我们将深入探讨underscore.js的核心特性、设计理念以及如何在实际项目中有效地利用...

    analyze_Underscore.js:解析underscore.js源码-源码解析

    《深入剖析Underscore.js:源码解析与应用实践》 Underscore.js是一款轻量级的JavaScript实用库,它提供了大量的实用...无论你是JavaScript新手还是资深开发者,分析Underscore.js源码都将是一次富有价值的学习体验。

    underscore-1.4.3.zip

    `underscore函数说明文档.docx`则详细阐述了各个函数的用法、参数和返回值,是学习和使用Underscore.js的重要参考资料。通过查阅这份文档,开发者可以更深入地理解每个函数的工作原理,并在实际项目中灵活应用。 四...

    underscore-analysis, underscore-1.8.3.js 源码解读 & 系列文章(完 ).zip

    总之,这个名为"underscore-analysis, underscore-1.8.3.js 源码解读 & 系列文章(完 )"的压缩包,是JavaScript开发者不可多得的学习材料。它不仅提供了一次深入学习underscore.js的机会,也是一次提高JavaScript...

    underscore-analysis:underscore.js原始学习-js

    《深入剖析 underscore.js:探索 JavaScript 开源库的精髓》 在JavaScript的世界里,underscore.js(下文简称_)...无论你是初学者还是经验丰富的开发者,深入学习和理解 underscore.js 都将对你的编程生涯大有裨益。

    underscore.js:underscore.js原始解析-源码解析

    underscore.js,作为一个轻量级的JavaScript库,以其强大的功能性、高效性和灵活性,被广泛应用于前端开发中。它提供了大量的实用函数,帮助开发者处理数组、对象、函数等数据类型,极大地提高了代码的可读性和可...

    underscore-example:Underscore.js 演示

    总结,Underscore.js作为JavaScript开发的强大辅助工具,通过“underscore-example”项目的学习,能让你深入理解并熟练运用其提供的各种功能。无论是在日常开发还是复杂项目中,掌握Underscore.js都能使你的代码更加...

    underscore源码学习计划

    总结,Underscore.js作为一款优秀的JavaScript实用库,它的源码学习能够提升我们的编程技巧,加深对函数式编程的理解,同时也能帮助我们在项目中更好地利用这些工具,提高代码质量。通过深入学习和实践,你将能够...

    backbound. underscore

    《深入解析 underscore.js:一个强大的JavaScript工具库》 在JavaScript的世界里,underscore.js 是一个备受推崇的工具库,它提供了大量的实用函数,帮助开发者更高效地处理数组、对象、函数等核心JavaScript数据...

    underscore-parser:underscore.js工具库二进制剖析系列文章及能从underscore.js学到什么东西(持续更新)

    underscore.js是一个轻量,实用,兼容低版本浏览器JavaScript工具库和支持JavaScript多环境下使用。 ###主要 ###为什么要做原始码剖析 最近这段时间也是在重新沉淀自己的技术栈和学习新的技术,虽然在js编码风格上...

    underscore-source-analysis:Underscore.js原始学习

    通过对Underscore.js源码的深入学习,开发者不仅可以掌握JavaScript的高级用法,还能了解到函数式编程的设计模式和优化技巧,为自己的编程生涯添加一笔宝贵的经验。同时,了解并参与到开源项目中,也是提升专业素养...

    underscore_note:underscore.js原始代码阅读学习笔记

    通过深入学习underscore.js的源码,我们可以更好地理解JavaScript的内在机制,提升我们的编程技巧,并在实际项目中灵活运用这些知识,编写出更高效、更简洁的代码。同时,这也是对函数式编程思想的一种实践,有助于...

Global site tag (gtag.js) - Google Analytics