实例详解js数组方法slice()的用法

slice()方法介绍

slice(),它能基于当前数组中的一个或多个创建一个新数组。可以接受一或两个参数,即要返回的起始和结束位置。

一个参数:slice()方法返回从该参数指定位置开始到当前数组末尾的所有项。

两个参数:该方法返回起始和结束位置之间的项(但不包括结束位置的项)。

slice不会影响原始数组。

结束位置小于起始位置,返回空数组。

可以接受负数,用数组长度加上该负数来确定相应位置。

(推荐学习:javascript教程)

实例如下:

var arr = [1, 2, 3, 'a', 'b', 'c', 'd'];Array.prototype.copySlice =function() {  var newArr = [];  var len = this.length;  var argLen = arguments.length;  if(arguments.length == 1) {//一个参数    var startNum = arguments[0] > 0 ? arguments[0] : (len + arguments[0]);    for(var i = startNum; i < len; i++) {      newArr.push(arr[i]);    }  }  else if(arguments.length == 2) {//两个参数    var startNum = arguments[0] > 0 ? arguments[0] : (len + arguments[0]);    var endNum = arguments[1] > 0 ? arguments[1] : (len + arguments[1]);    if(startNum >= endNum) {//起始索引大于终止索引,返回[]      return newArr;    }    else {      for(var i = startNum; i < endNum; i++) {        newArr.push(arr[i]);      }    }  }  return newArr;};console.log(arr.length); // 7// 一个参数console.log(arr.copySlice(2)); // [3, "a", "b", "c", "d"]// 两个参数console.log(arr.copySlice(3, 6));  //["a", "b", "c"]console.log(arr);  //[1, 2, 3, "a", "b", "c", "d"]// 接收负数console.log(arr.copySlice(-2)); // ["c", "d"]console.log(arr.copySlice(-5, 6)); //[3, "a", "b", "c"]//结束位置小于起始位置,返回空数组。console.log(arr.copySlice(-5, -6)); //[]console.log(arr.copySlice(5, 5)); //[]console.log(arr.copySlice(5, )); // ["c", "d"]

部分运行结果如图:

16e5e236175552477021a241e227916.png

更多编程相关教程,请关注龙方网络编程入门栏目!

以上就是实例详解js数组方法slice()的用法的详细内容,更多请关注龙方网络其它相关文章!

郑重声明:本文版权包含图片归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们(delete@yzlfxy.com)修改或删除,多谢。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

留言与评论(共有 0 条评论)
昵称:
匿名发表
   
验证码: