• JavaScript 数组


    改变原数组

    push pop shift unshift sort reverse splice

    • push 在数组最后一位添加数据
    var arr = [1, 2, 3, 5];
            Array.prototype.push = function () {
                for (var i = 0; i < arguments.length; i++) {
                    arr[arr.length] = arguments[i];
                }
            }

    上面是自己实现的一个push方法

    • pop 剪切最后一位
      //pop 剪切最后一位
            var arr = [1, 2, 3, 5];
            arr.pop();//[1,2,3]
    • shift 减去第一位
     var arr = [1, 2, 3, 5];
            arr.shift();//[2, 3, 5]
    • unshift 在第一位添加数据
       var arr = [1, 2, 3, 5];
            arr.unshift(6);//[6,1,2,3,5]
    • sort 排序数组
            //sort  //排序原数组
            //可以自定义排序方式
            //1.必须写两个形参
            //2.看返回值   返回值负数,那么前面的数在后面
            //正数,后面数在前面
            //为0,不动
    
            var arr = [1, 2, 3, 5, 9, 20, 4, 7, 4];
            arr.sort(function (a, b) {
                return Math.random() - 0.5;
            });

    系统提供自定义排序的支持,我们可以按照自己的需求定制排序的实现

    • reverse 反转元素
    var arr= [1,2,3,5];
            arr.reverse();//[5,3,2,1]
    • splice   splice(从第一位开始,截取多少的长度,在切口处添加新的数据)
    //arr.splice(3,0,4),可以传负数,以下是负数的实现
    /splice = function (pos) {
    // pos += pos > 0 ? 0 : this.length; //}

    不改变原数组

    concat join split toString,slice

    • concat 连接2个数组
           var arr=[1,2,3];
           var arr1=[4,5,6];
           var newarr = arr.concat(arr1);//[1,2,3,4,5,6]
    • join
    var str="h";
    var str1='e';
    var str2="l";
    var str3='l';
    var str4='o';
    var arr=[str,str1,str2,str3,str4];
    var newarr = arr.join('')//默认为,传个空字符 hello  //拼接字符串这中效率较高
    • split 字符串的方法,按照一定规则分割成数组
    //字符串方法split  分割成数组
    var arr = ['h', 'e', 'l', 'l', 'o'];
    var str = arr.join('-');
    var newarr = str.split('-');//["h", "e", "l", "l", "o"]
    • toString
    var arr=[1,2,3];
    var newarr = arr.toString();//"1,2,3"
    • splice  slice(从该位开始,截取到该位)第二个参数为空 截取到最后
    var arr = [1,2,3];
    var newarr = arr.slice(1,3);// 2
    var newarr1 = arr.splice(0);//[1,2,3]
  • 相关阅读:
    【NOI2000T4】单词查找树-trie树
    【POJ1698】Alice's Chance-二分图多重匹配
    【POJ1698】Alice's Chance-二分图多重匹配
    【POJ3159】Candies-差分约束系统
    【POJ3159】Candies-差分约束系统
    【POJ2914】Minimum Cut-无向图的全局最小割
    【POJ2914】Minimum Cut-无向图的全局最小割
    【HDU3555】Bomb-数位DP入门题
    【HDU3555】Bomb-数位DP入门题
    codevs 2018 反病毒软件
  • 原文地址:https://www.cnblogs.com/FashionDoo/p/10632053.html
Copyright © 2020-2023  润新知