• 技术文章 >web前端 >js教程

    通过实例了解JavaScript数组方法slice()的使用方法

    青灯夜游青灯夜游2020-12-29 09:35:21转载845
    下面本篇文章给大家通过实例分析一下JavaScript中数组方法slice()的使用方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

    相关推荐:《javascript视频教程

    slice()方法介绍

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

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

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

    slice不会影响原始数组。

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

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

    实例如下:

    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"]

    部分运行结果如图:

    2.png

    更多编程相关知识,请访问:编程入门!!

    以上就是通过实例了解JavaScript数组方法slice()的使用方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:脚本之家,如有侵犯,请联系admin@php.cn删除
    专题推荐:JavaScript 数组 slice()
    上一篇:学习在 JavaScript 中正确处理变量 下一篇:一起看看 JavaScript 中的模块、Import和Export
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• JavaScript中拷贝数组的14个小技巧• JavaScript深入探索 websocket和HTTP/2与SSE +如何选择正确的路径!• html5结合javascript实现简易音乐播放器• JavaScript介绍Service Worker 的生命周期及使用场景• 掌握javascript 小技巧帮你提升代码质量
    1/1

    PHP中文网