JS Array.slice 截取数组的实现方法

前端之家收集整理的这篇文章主要介绍了JS Array.slice 截取数组的实现方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

slice定义和用法

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

语法 arrayObject.slice(start,end)

返回值

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

说明

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

提示和注释

注释:您可使用负值从数组的尾部选取元素。 注释:如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。

实例

例子 1

在本例中,我们将创建一个新数组,然后显示从其中选取的元素:

var arr = new Array(3)
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

在本例中,我们将创建一个新数组,然后显示从其中选取的元素:

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 + "
")
document.write(arr.slice(2,4) + "
")
document.write(arr)

输出: George,Thomas,James,Adrew,Martin Thomas,James George,Martin

核心代码

截取数组 //在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("
");

ok了,其实就是使用array.alice(0,20);截取前20个。

原文链接:https://www.f2er.com/js/50785.html

猜你在找的JavaScript相关文章

描述