slice定义和用法
slice() 方法可从已有的数组中返回选定的元素。
语法 arrayObject.slice(start,end)
描述 |
---|
返回值
返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
说明
请注意,该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。
提示和注释
注释:您可使用负值从数组的尾部选取元素。 注释:如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。
实例
例子 1@H_403_29@
在本例中,我们将创建一个新数组,然后显示从其中选取的元素:
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr + "
")
document.write(arr.slice(1) + "
")
document.write(arr)
输出: George,John,Thomas John,Thomas George,Thomas
例子 2@H_403_29@
在本例中,我们将创建一个新数组,然后显示从其中选取的元素:
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
document.write(arr + "
")
document.write(arr.slice(2,4) + "
")
document.write(arr)
输出: George,Thomas,James,Adrew,Martin Thomas,James George,Martin
核心代码:@H_403_29@
截取数组
//在JavaScript中,Array对象的slice(start[,end])方法返回数组从下标[start,end)的部分(不包含下标为end的元素)如果没有指定end参数,则从start开始到数组结尾的部分,slice()方法不改变原数组,如果要删除数组的一部分,可以使用splice()方法。
//参数:
//(1)start:开始截取的数组下标,如果start是负数,表明从数组尾部开始计算。
//(2)end:结束截取的数组下标,如果end是负数,表明从数组尾部开始计算。
//例1:
var arr = [1,2,3,4,5,6,7,8,9];
// [0,1,8]
// [-10,-9,-8,-7,-6,-5,-4,-3,-2,-1]
document.writeln(arr.slice(5)); // 输出:6,9
document.writeln(arr.slice(-5)); // 输出:5,9
document.writeln(arr.slice(0,3)); // 输出:1,3
document.writeln(arr.slice(1,2)); // 输出:2
document.writeln(arr.slice(3,-2)); // 输出:4,7
document.writeln(arr.slice(1,9999)); // 输出:2,9
//==================================================================================================
//JS Array.splice(start,delete_count,value,...) 插入、删除、替换数组
//参数:
//(1)start:开始插入和(或)删除的数组元素的下标。
//(2)delete_count:结束截取的数组下标,如果end是负数,表明从数组尾部开始计算。
//(3)value,...:要插入数组的元素。
//返回:如果从数组中删除了元素,则返回的是被删除的元素的数组
//
//例1:
document.write("
");
//
var arr = [1,9];
document.writeln("arr=" + arr); // 输出:arr=1,9
document.writeln("arr.splice(5)=" + arr.splice(5)); // 输出:arr.splice(5)=6,9
document.writeln("arr=" + arr); // 输出:arr=1,5
document.write("
");
//
var arr = [1,9
document.writeln("arr.splice(5,99,100)=" + arr.splice(5,100)); // 输出:arr.splice(5,100)=6
document.writeln("arr=" + arr); // 输出:arr=1,100,9
document.write("
");
var arr = [1,2,3,4,5,6,7,8,9];
// [0,1,8]
// [-10,-9,-8,-7,-6,-5,-4,-3,-2,-1]
document.writeln(arr.slice(5)); // 输出:6,9
document.writeln(arr.slice(-5)); // 输出:5,9
document.writeln(arr.slice(0,3)); // 输出:1,3
document.writeln(arr.slice(1,2)); // 输出:2
document.writeln(arr.slice(3,-2)); // 输出:4,7
document.writeln(arr.slice(1,9999)); // 输出:2,9
//==================================================================================================
//JS Array.splice(start,delete_count,value,...) 插入、删除、替换数组
//参数:
//(1)start:开始插入和(或)删除的数组元素的下标。
//(2)delete_count:结束截取的数组下标,如果end是负数,表明从数组尾部开始计算。
//(3)value,...:要插入数组的元素。
//返回:如果从数组中删除了元素,则返回的是被删除的元素的数组
//
//例1:
document.write("
");
//
var arr = [1,9];
document.writeln("arr=" + arr); // 输出:arr=1,9
document.writeln("arr.splice(5)=" + arr.splice(5)); // 输出:arr.splice(5)=6,9
document.writeln("arr=" + arr); // 输出:arr=1,5
document.write("
");
//
var arr = [1,9
document.writeln("arr.splice(5,99,100)=" + arr.splice(5,100)); // 输出:arr.splice(5,100)=6
document.writeln("arr=" + arr); // 输出:arr=1,100,9
document.write("
");
ok了,其实就是使用array.alice(0,20);截取前20个。
原文链接:https://www.f2er.com/js/50785.html