• js基础--slice()与splice()的用法和区别你清楚吗?


    欢迎访问我的个人博客:http://www.xiaolongwu.cn

    他们的共性是都可以操作数据,截取一段数组,

    1. slice(start,end)
      • 从start开始截取到end但是不包括end
      • 返回值为截取出来的元素的集合
      • 原始的数组不会发生变化
      • 参数也支持负数,计算结果为负数加上总长度之后的值
      • 参数为负数的前提下,如果相加得到的结果start大于end则返回空数组
    //例子
            var arr1 = [1,23,44,55,66,77,888,"fff"];
            var arr2 = arr1.slice(2,4) //从index为2截取到index为4之前不包括4
            console.log(arr2); //[44,55]
            console.log(arr1); // [1,23,44,55,66,77,888,"fff"]原始数组没有被改变
    
    1. splice(start,deleteCount,item1,item2.....);
      • start参数 开始的位置
      • deleteCount 要截取的个数
      • 后面的items为要添加的元素
      • 如果deleteCount为0,则表示不删除元素,从start位置开始添加后面的几个元素到原始的数组里面
      • 由被删除的元素组成的一个数组。如果只删除了一个元素,则返回只包含一个元素的数组。如果没有删除元素,则返回空数组
      • 这个方法会改变原始数组,数组的长度会发生变化
    //例子
            var arr3 = [1,2,3,4,5,6,7,"f1","f2"];
            var arr4 = arr3.splice(2,3) //删除第三个元素以后的三个数组元素(包含第三个元素)
            console.log(arr4); //[3,4,5];
            console.log(arr3); //[1,2,6,7,"f1","f2"]; 原始数组被改变
            
            var arr5 = arr3.splice(2,0,"wu","leon"); //从第2位开始删除0个元素,插入"wu","leon"
            console.log(arr5); //[] 返回空数组
            console.log(arr3); // [1, 2, "wu", "leon", 6, 7, "f1", "f2"]; 原始数组被改变
    
            var arr6 = arr3.splice(2,3,"xiao","long");//从第2位开始删除3个元素,插入"xiao","long"
            console.log(arr6); //["wu", "leon", 6]
            console.log(arr3); //[1, 2, "xiao", "long", 7, "f1", "f2"]
            
            var arr7 = arr3.splice(2);//从第三个元素开始删除所有的元素
            console.log(arr7);//["xiao", "long", 7, "f1", "f2"]
            console.log(arr3); //[1, 2]
            
    
    1. 数组操作的方法扩展
      • push / pop 在数组末尾增/删元素;
      • unshift / shift 在数组首部增/删元素;
      • concat 把一个(或多个)数组和(或)值与原数组拼接,返回拼接后的数组
      • join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔
      • reverse() 颠倒数组中元素的顺序

    我的github资源地址:https://github.com/js基础--slice()与splice()的用法和区别你清楚吗?.md

    我的个人博客地址:http://www.xiaolongwu.cn

    我的博客园地址:http://www.cnblogs.com/wuxiaolong555

    我的CSDN博客地址:https://blog.csdn.net/wxl1555

    如果您对我的博客内容有疑惑或质疑的地方,请在下方评论区留言,或邮件给我,共同学习进步。

    邮箱:wuxiaolong802@163.com

  • 相关阅读:
    金牙与肉屑
    科学研究的动机以及雄心
    适度的自我吹嘘
    ubuntu12启用root账户
    有很多文件夹是受系统保护的
    vs2012换肤功能,vs2012主题及自定义主题
    Ubuntu navicat for mysql 安装和使用
    Asp.Net MVC4 Bundle捆绑压缩技术
    64位Windows Jmail组件报错解决方案
    C#检测上传文件的真实类型
  • 原文地址:https://www.cnblogs.com/wuxiaolong555/p/9046074.html
Copyright © 2020-2023  润新知