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]

 

posted @ 2019-03-31 16:59  110来了  阅读(160)  评论(0编辑  收藏  举报