JS教程(11):提取数组元素函数slice()

数组中的元素很多,怎样从这个数组中提取出指定的元素呢?javascript为我们提供了一个非常不错的数组函数——slice,slice()函数可以指定从数组的哪一个下标开始提取,一直提取到另一个下标结束, 本文来自小莫扎特博客www.plusminustsuchi.com 提供

slice()函数语法:

本文来自小莫扎特博客www.plusminustsuchi.com 提供

array.slice( key1,key2);

本文来自小莫扎特博客www.plusminustsuchi.com 提供

语法说明:

本文来自小莫扎特博客www.plusminustsuchi.com 提供

参数1:必须。提取开始的下标;如果是负数:-1就是最后一个元素。
参数2:可选。结束的下标。负数时,同参数1。没有参数2时,就是到数组结束。
也可以把【参数2】看成是倒过来的数组下标,-0,-1,-2
返回值:是一个新的数组,由截取的元素组成。 本文来自小莫扎特博客www.plusminustsuchi.com 提供

slice()与splice()函数有所不同,它不会改变原数组。下面以下面arr数组为例:

本文来自小莫扎特博客www.plusminustsuchi.com 提供

var arr = ['gao','wanlimm','ssmay','aaa','bbb']; 本文来自小莫扎特博客www.plusminustsuchi.com 提供

案例1:没有第2个参数 本文来自小莫扎特博客www.plusminustsuchi.com 提供

console.log(arr.slice(1)); 本文来自小莫扎特博客www.plusminustsuchi.com 提供

打印结果:

本文来自小莫扎特博客www.plusminustsuchi.com 提供

['wanlimm','ssmay','aaa','bbb']

本文来自小莫扎特博客www.plusminustsuchi.com 提供

从下标1开始提取,因为没有第二参数,就提取到数组的最后一个元素。 本文来自小莫扎特博客www.plusminustsuchi.com 提供

案例2:第一个参数是负数 本文来自小莫扎特博客www.plusminustsuchi.com 提供

console.log(arr.slice(-3);

本文来自小莫扎特博客www.plusminustsuchi.com 提供

打印结果: 本文来自小莫扎特博客www.plusminustsuchi.com 提供

['ssmay','aaa','bbb'] 本文来自小莫扎特博客www.plusminustsuchi.com 提供

会从倒数第3个元素开始提取,因为没有第二个参数,就一直提取到数组的最后一个元素。 本文来自小莫扎特博客www.plusminustsuchi.com 提供

案例3:提取数组arr,从下标-2开始提取,提取到倒数第2个元素。 本文来自小莫扎特博客www.plusminustsuchi.com 提供

console.log(arr.slice(2,-2)); 本文来自小莫扎特博客www.plusminustsuchi.com 提供

打印结果:

本文来自小莫扎特博客www.plusminustsuchi.com 提供

["ssmay"]

本文来自小莫扎特博客www.plusminustsuchi.com 提供

可以看出,-2 表示只获取到 倒数第2个元素前的元素。不包括第2个元素。也可以把 -2 看成是倒过来的数组下标,-0,-1,-2 本文来自小莫扎特博客www.plusminustsuchi.com 提供

本文来自小莫扎特博客www.plusminustsuchi.com 提供



内容版权声明:以上内容均为转载,如有侵犯原作者请联系删除!