定义和用法

slice() 方法可从已有的数组中返回选定的元素。

语法

arrayObject.slice(start,end)
参数描述
start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

 

从前往后,下标从0开始,从后往前,下标从-1开始

 

 1 <html>
 2 <body>
 3 
 4 <script type="text/javascript">
 5 
 6 var arr = new Array(6)
 7 arr[0] = "George"
 8 arr[1] = "John"
 9 arr[2] = "Thomas"
10 arr[3] = "James"
11 arr[4] = "Adrew"
12 arr[5] = "Martin"
13 
14 document.write(arr + "<br />")
15 document.write(arr.slice(2,4) + "<br />")
16 
17 </script>
18 </body>
19 </html>
View Code

输出结果:George,John,Thomas,James,Adrew,Martin
Thomas,James

从前往后,下标的所对应的字符串

 

 1 <html>
 2 <body>
 3 
 4 <script type="text/javascript">
 5 
 6 var arr = new Array(6)
 7 arr[0] = "George"
 8 arr[1] = "John"
 9 arr[2] = "Thomas"
10 arr[3] = "James"
11 arr[4] = "Adrew"
12 arr[5] = "Martin"
13 
14 document.write(arr + "<br />")
15 document.write(arr.slice(2,-1) + "<br />")
16 
17 </script>
18 </body>
19 </html>
View Code

输出结果:George,John,Thomas,James,Adrew,Martin
Thomas,James,Adrew

从下标1到下标-1的所对应的字符串,下标为-1 ,是从后往前数,即最后一个字符

 

 1 <html>
 2 <body>
 3 
 4 <script type="text/javascript">
 5 
 6 var arr = new Array(6)
 7 arr[0] = "George"
 8 arr[1] = "John"
 9 arr[2] = "Thomas"
10 arr[3] = "James"
11 arr[4] = "Adrew"
12 arr[5] = "Martin"
13 
14 document.write(arr + "<br />")
15 document.write(arr.slice(-3,-1) + "<br />")
16 
17 </script>
18 </body>
19 </html>
View Code

从下标-3到-1的所对应的字符,即倒数第3个和第二个字符

 

 1 <html>
 2 <body>
 3 
 4 <script type="text/javascript">
 5 
 6 var arr = new Array(6)
 7 arr[0] = "George"
 8 arr[1] = "John"
 9 arr[2] = "Thomas"
10 arr[3] = "James"
11 arr[4] = "Adrew"
12 arr[5] = "Martin"
13 
14 document.write(arr + "<br />")
15 document.write(arr.slice(-4,4) + "<br />")
16 
17 </script>
18 </body>
19 </html>
View Code

 

 1 <html>
 2 <body>
 3 
 4 <script type="text/javascript">
 5 
 6 var arr = new Array(6)
 7 arr[0] = "George"
 8 arr[1] = "John"
 9 arr[2] = "Thomas"
10 arr[3] = "James"
11 arr[4] = "Adrew"
12 arr[5] = "Martin"
13 
14 document.write(arr + "<br />")
15 document.write(arr.slice(-4,4) + "<br />")
16 
17 </script>
18 </body>
19 </html>
View Code

输出结果:George,John,Thomas,James,Adrew,Martin
Thomas,James

从下标-4到下标4的所对应的字符

 

 

 

var oStringObject = new String("hello world");
alert(oStringObject.slice("3"));
alert(oStringObject.slice("3", "7"));	



返回值

返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。

说明

请注意,该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。

 

如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。