- 加入我的QQ群
- 关注我的百家号
扫描下面的二维码,“关注”我的百家号。
数组中的元素很多,怎样从这个数组中提取出指定的元素呢?javascript为我们提供了一个非常不错的数组函数——slice,slice()函数可以指定从数组的哪一个下标开始提取,一直提取到另一个下标结束,
slice()函数语法:
array.slice( key1,key2);
语法说明:
参数1:必须。提取开始的下标;如果是负数:-1就是最后一个元素。
参数2:可选。结束的下标。负数时,同参数1。没有参数2时,就是到数组结束。
也可以把【参数2】看成是倒过来的数组下标,-0,-1,-2
返回值:是一个新的数组,由截取的元素组成。
slice()与splice()函数有所不同,它不会改变原数组。下面以下面arr数组为例:
var arr = ['gao','wanlimm','ssmay','aaa','bbb'];
案例1:没有第2个参数
console.log(arr.slice(1));
打印结果:
['wanlimm','ssmay','aaa','bbb']
从下标1开始提取,因为没有第二参数,就提取到数组的最后一个元素。
案例2:第一个参数是负数
console.log(arr.slice(-3);
打印结果:
['ssmay','aaa','bbb']
会从倒数第3个元素开始提取,因为没有第二个参数,就一直提取到数组的最后一个元素。
案例3:提取数组arr,从下标-2开始提取,提取到倒数第2个元素。
console.log(arr.slice(2,-2));
打印结果:
["ssmay"]
可以看出,-2 表示只获取到 倒数第2个元素前的元素。不包括第2个元素。也可以把 -2 看成是倒过来的数组下标,-0,-1,-2
学习了!学习了!学习了!
注意第一个参数:非负数时,是从0开始,和数组下面取值一致;而负数时,是从-1开始代表倒数第一个,-2代表倒数第二个…。取数的方向都是从指定位置开始往后取,但是参数2指定的数据元素不包含在取数范围内。