• JS中数组slice、splice用法总结


    1.splice
    splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。该方法会改变原始数组。
    语法:arrayObject.splice(index,howmany,item1,.....,itemX)
    参数说明

    1. index:操作数组的位置
    2. howmany:删除元素的数量,0为不删除
    3. item1,.....,itemX:插入的元素,可以不填

    例如:

    var arr=[1,2,3];
    arr.splice(1,2);//删除第一个位置两个元素,arr=[1]
    
    var arr=[1,2,3];
    arr.splice(1,2,99);//删除第一个位置两个元素,并添加99,arr=[1,99]
    
    var arr=[1,2,3];
    arr.splice(1,0,99);//在第一个位置添加99 ,arr=[1,99,2,3]

    利用splice方法给数组去重:

    Array.prototype.distinct=function(){ 
        for(var i=0;i<this.length;i++) {
            if(this.indexOf(this[i])!=i){
                this.splice(i,1);
                i--;
            }
        } 
        return this;
    }
    var arr=[1,1,2,3,4,5,6,2,3,4,5,6,7,1,2,3,4,5,6];
    arr.distinct();//arr=[1, 2, 3, 4, 5, 6, 7]

    2.slice
    slice() 方法可从已有的数组中返回选定的元素。
    语法:arrayObject.slice(start,end)
    参数说明

    1. start:开始取的位置,如果是负数则会从末尾开始算
    2. end:结束的位置,不填则会从开始位置取到末尾

    例如:

    var arr=[1,2,3,4,5,6,7];
    console.log(arr.slice(2,5));//[3,4,5],注意arr不变
    
    var arr=[1,2,3,4,5,6,7];
    console.log(arr.slice(-2,-1));//[6]
    
    var arr=[1,2,3,4,5,6,7];
    console.log(arr.slice(3));//[4, 5, 6, 7]

    像jQuery中,利用slice方法给字符串转换为数组:

    function toArray(str){
        return Array.prototype.slice(str);
    }

    slice还有个用法就是复制数组对象,如

    var arr=[1,2,3];
    var copies = arr.slice(0);
    arr.length=0;//arr数组删除所有元素
    console.log(copies);
    console.log(arr);
  • 相关阅读:
    B轮公司技术问题列表(转)
    mysql函数之截取字符串
    谁才是真正的水果之王
    Mysql几种索引方式的区别及适用情况 (转)
    web安全之攻击
    css学习之样式层级和权重
    mysql中engine=innodb和engine=myisam的区别(转)
    mysql 创建表格 AUTO_INCREMENT
    mysql数据表的字段操作
    navicate使用小技巧
  • 原文地址:https://www.cnblogs.com/beileye888/p/7205837.html
Copyright © 2020-2023  润新知