JSLIte eq指定匹配元素的集合为的索引的哪一个元素,用js 的slice函数来实现

eq

指定匹配元素的集合为的索引的哪一个元素。一个整数,指示元素的位置,以 0 为基数。
eq(index) ⇒ collection
eq(-index) ⇒ collection

js$("div").eq(0)//⇒ 返回数组第一个节点数组 [div#box.boxOne.box2.box3, init: function…]
$("div").eq(-1)//⇒ 倒数第一个节点数组
$("div").eq(-2)//⇒ 倒数第二个节点数组

JSLIte 实现方法

内部使用js的slice函数来实现方法 .eq 接口

jseq: function(idx){
    return idx === -1 ? this.slice(idx) : this.slice(idx, + idx + 1)
}

slice 介绍

对于array对象的slice函数,
返回一个数组的一段。(仍为数组)

arrayObj.slice(start, [end])

参数说明
arrayObj必选项。一个 Array 对象。
start必选项。arrayObj 中所指定的部分的开始元素是从零开始计算的下标。
end可选项。arrayObj 中所指定的部分的结束元素是从零开始计算的下标。

说明

slice 方法返回一个 Array 对象,其中包含了 arrayObj 的指定部分。
slice 方法一直复制到 end 所指定的元素,但是不包括该元素。
1. 如果 start 为负,将它作为 length + start处理,此处 length 为数组的长度。
2. 如果 end 为负,就将它作为 length + end 处理,此处 length 为数组的长度。
3. 如果省略 end ,那么 slice 方法将一直复制到 arrayObj 的结尾。
4. 如果 end 出现在 start 之前,不复制任何元素到新数组中。

    原文作者:小弟调调
    原文地址: https://segmentfault.com/a/1190000002460028
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞