定义和用法
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>
输出结果: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>
输出结果: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>
从下标-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>
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>
输出结果: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 到数组结尾的所有元素。