您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
Ready 发布于2014年08月07日 11:56

原创 JavaScript Array.slice() 函数详解

18 次浏览 读完需要≈ 5 分钟

内容目录

slice()函数返回当前数组的一部分(连续的一段,以数组的形式返回)。

该函数属于Array对象,所有主流浏览器均支持该函数

语法

array.slice( start [, end ] )

参数

参数 描述
start Number类型一个指向数组指定部分的开头的索引。
end 可选参数/Number类型一个指向数组指定部分的结尾的索引。
  • slice()函数一直复制到end所指示的元素,但是不包括该元素。
  • 如果start为负,则将其视为length + start,此处length为数组的长度。
  • 如果end为负,就将其视为length + end,此处length为数组的长度。
  • 如果省略end,则将一直提取到数组的结尾(即end = length)。
  • 如果end <= start,则不会将任何元素复制到新数组中,返回一个空数组。

返回值

slice()函数的返回值为Array类型,返回包含当前数组中索引start到索引end(不包括索引end)的部分元素的数组。

当前数组对象本身不会有任何改变。

示例&说明

//定义一个数组对象
var array = ["Code", true, "Player", -5.21];

// 抽取索引 1 ~ 3的部分(不包括索引3,下同)
document.writeln( array.slice(1, 3) ); // true,Player

// 抽取索引(4-2) ~ 3的部分
document.writeln( array.slice(-2, 3) ); // Player

// 抽取索引(4-2) ~ (4-1)的部分
document.writeln( array.slice(-2, -1) ); // Player

// 抽取索引1 ~ 4的部分
document.writeln( array.slice(1) ); // true,Player,-5.21

// 抽取索引1 ~ 1的部分
document.writeln( array.slice(1, 1) ); // (空字符串)

// 抽取索引1 ~ 20的部分(20超出长度,一直提取到数组结尾)
document.writeln( array.slice(1, 20) ); // true,Player,-5.21


// 抽取索引(4-8) ~ (4-5)的部分(提取范围超出索引范围,返回空数组)
document.writeln( array.slice(-8, -5) ); // (空字符串)

// 原数组没有任何变化
document.writeln( array ); // Code,true,Player,-5.21

运行代码

  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论

打开导航菜单