JS的Slice函数

来源:互联网 发布:php调用类中的方法 编辑:程序博客网 时间:2024/06/08 07:08

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

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

 

slice 方法一直复制到 end 所指定的元素,但是不包括该元素。如果 start 为负,将它作为 length + start处理,此处 length 为数组的长度。如果 end 为负,就将它作为 length + end 处理,此处 length 为数组的长度。如果省略 end ,那么 slice 方法将一直复制到 arrayObj 的结尾。如果 end 出现在 start 之前,不复制任何元素到新数组中。

 

 

var a;  
a = new Array("a","b","c","d","e");  
document.write(a.slice(0,3) + "<br>");  
document.write(a.slice(-3,4) + "<br>");  
document.write(a.slice(0,-1) + "<br>");  
document.write(a.slice(1) + "<br>");  
document.write(a.slice(4,3));  

这个示例用到了数组(Array)对象的Slice(start,[end])方法,该方法返回一个新数组,包含了源函数从start end 所指定的元素,但是不包括end元素。


(1)a.slice(0,3)
;结果a,b,c

(2)
如果 start 为负,将它作为 length + start处理,此处  length 为数组的长度,比如a.slice(-3,4),相当于a.slice(2,4)。结果c,d


(3)如果 end 为负,就将它作为 length +  end 处理,此处 length 为数组的长度,比如a.slice(0,-1)。结果a,b,c,d

(4)
如果省略 end ,那么 slice 方法将一直复制到源数组结尾,比如a.slice(1)。结果b,c,d,e

(5)
如果 end 出现在 start 之前,不复制任何元素到新数组中,比如a.slice(4,3)

原创粉丝点击