内容目录
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
0 条评论
撰写评论