`
zhangyaochun
  • 浏览: 2621959 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

underscore的数组操作之first与last

阅读更多

 

  • first        (居然还有两个别名:head,take)

         _.first(array,[n])

 

        -------  返回array(数组)的第一个元素。传入的参数n将返回数组中从第一个元素开始的n个元素

 

       实例

 

     
 

   注释

 

  1. 如果不传n参数,返回的是一个字符串
  2. 如果n为>=1返回的是一个数组
  3. 如果n大于array.length,n最大就是array.length

 

    源码:

 

_.first = _.head = _.take = function(array,n,guard){
       if(array == null){
            return void 0;
       }

       return (n != null) && !guard ?  Array.prototype.slice.call(array,0,n) : array[0];
};

   

 

 

 

  • last

        _.last(array,[n])

 

       -------  返回array(数组)的最后一个元素。传入的参数n将返回数组中从第一个元素开始的n个元素 

 

 

      实例

 

     
 

    

   源码:

 

_.last = function(array,n,guard){
       if(array == null){
            return void 0;
       }

       if((n != null) && !guard){
             return Array.prototype.slice.call(array,Math.max(array.length - n,0));
       }else{
             return array[array.length - 1];
       }

};

 

  • 大小: 11.3 KB
  • 大小: 14.7 KB
分享到:
评论

相关推荐

    backbound. underscore

    1. **数组操作**:包括map、filter、reject、each、first、last、indexOf、shuffle等方法,它们极大地丰富了原生JavaScript数组的处理能力。例如,`_.map` 可以对数组中的每个元素进行映射操作,`_.filter` 可以根据...

    Underscore之Array_动力节点Java学院整理

    underscore为Array提供了许多工具类方法,可以更方便快捷地操作Array。 first / last 顾名思义,这两个函数分别取第一个和最后一个元素: 'use strict'; var arr = [2, 4, 6, 8]; _.first(arr); // 2 _.last(arr...

    underscore_lab

    first-返回数组中的第一个元素 _.first([5, 4, 3, 2, 1]); => 5 last-返回数组中的最后一个元素 _.last([5, 4, 3, 2, 1]); => 1 max-返回数组中的最大值 var numbers = [10, 5, 100, 2, 1000]; _.max

    rewrite-underscore-library

    下面是我为这个项目重写的 underscore.js 的函数列表: 各种各样的_.identity - 返回作为参数传递的任何值收藏_.first - 返回数组的前 n 个元素的数组_.last - 返回数组的最后 n 个元素的数组_.each - 为集合(数组...

    underscore.js

    2. **集合操作**:提供了对数组和对象的高级操作,如each、where、find、first、last等,使得开发者能够方便地遍历、查找和筛选数据。 3. **实用工具函数**:包括isString、isArray、isObject、isEqual等,用于类型...

    How-underscore-works:展示 Underscore.js 可以做什么

    4. **数组辅助**:除了上述的集合操作,Underscore 还有 first、last、initial、rest、compact、flatten、without、union、intersection、difference、zip 等方法,它们分别用于获取数组的首尾元素、去除空值、合并...

    深入解析Backbone.js框架的依赖库Underscore.js的作用

    - **数组类**:提供了处理数组的工具,如`first`, `last`, `initial`, `rest`, `compact`, `flatten`, `without`, `shuffle`, `toArray`等。 - **功能函数类**:包括`bind`, `partial`, `memoize`, `delay`, `defer...

    Underscore-Practice:重写下划线库进行练习

    2. **实用集合方法**:例如,`each()`, `indexOf()`, `first()`, `last()`, `without()`等,这些都是处理数组和对象时常用的函数。通过重写它们,你可以更好地理解这些操作背后的逻辑。 3. **对象操作**:...

    underscore_lab:练习以复制_函数(140715)

    您将重新创建流行的JS库Underscore.js的某些功能。 在_对象中编写以下所有方法。 分叉此仓库,将您的代码推送到分叉上,然后将链接提交到您在Students.gschool上的分叉 ##第1部分 平均值-返回给定数组中的平均值...

    StudyUnderscore:下划线原始码学习

    1. **数组操作**:下划线库提供了丰富的数组处理方法,如each、first、last、without等。例如,each函数用于遍历数组,可以方便地实现对数组元素的迭代操作;first和last则分别用于获取数组的第一个和最后一个元素;...

    前端开源库-linq

    2. **扩展方法**:linq.js通过扩展Array和Object原型,为它们添加了一系列的查询方法,如`forEach`, `toArray`, `first`, `last`, `single`, `sum`, `average`等。 3. **延迟执行**:linq.js的查询操作是延迟执行的...

    JavaScript 代码规范.pdf

    - **下划线命名法**(Underscore Case):适用于数据库字段或与其他语言交互时,如 `first_name`、`last_name`。 - **使用有意义的名字**:避免使用 `a`、`b` 这类无意义的变量名,而应使用更具描述性的名称,如 `...

    Moses:Lua中用于函数编程的实用程序库

    此外,Moses还包含一些其他实用的工具函数,如`first`和`last`用于获取数组的第一个和最后一个元素,`compact`用于移除数组中的空值,`isEqual`用于比较两个值是否相等,`isArray`和`isObject`用于判断值是否为数组...

    JavaScript工具库之Lodash详解

    Lodash的优化不仅体现在延迟计算上,还有其他实用的功能,如`_.sortBy()`用于按指定属性排序,`_.first()`获取数组第一个元素,以及`_.last()`获取最后一个元素。此外,Lodash还支持多种数据类型的操作,包括数组、...

    AsEnumerableJs:JavaScript 中的 linq 实现

    7. `first`和`last`:获取第一个或最后一个元素。 8. `concat`, `intersect`, `union`:用于合并、交集或并集操作。 在实际应用中,要充分利用"AsEnumerableJs",你需要将其导入到项目中,然后对数组或对象进行链式...

Global site tag (gtag.js) - Google Analytics