在JavaScript学习手册中针对slice()方法进行的介绍,如下:
slice() 方法可从已有的数组中返回选定的元素。
语法:arrayObject.slice(start,end)
参数:
start------必需。规定从何处开始选取(下标从0算起)。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end----可选。规定从何处结束选取(不包括该位置上的元素)。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
返回值:
返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。
说明:
请注意,该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。
举例:
<script type="text/javascript">
var arr = new Array(6);
arr[0] = "George"; arr[1] = "John"; arr[2] = "Thomas"; arr[3] = "James"; arr[4] = "Adrew"; arr[5] = "Martin";
document.write(arr + "<br />"); //George,John,Thomas,James,Adrew,Martin
document.write(arr.slice(1)
+ "<br />"); //John,Thomas,James,Adrew,Martin
document.write(arr.slice(2,4)
+ "<br />"); //Thomas,James
document.write(arr.slice(-3,5)
+ "<br />"); //James,Adrew
document.write(arr.slice(1,-2) + "<br />"); //John,Thomas,James
</script>
-------------------------------------------------------------------------------------------------------------------------
其实,除了对数组能用该方法操作之外,对常见的字符串也可以
如:
var str = "abcde";
alert(str.slice(1,3));//bc
alert(str.slice(1,-1));//返回bcd