js(三)数组

172 阅读2分钟

定义数组的两种方法:

  • var arr = [];
  • var arr = new array();

数组一些方法

  • var arr1 = new array(1,2,4);数组内容是1,2,4
  • var arr2 = new array(4);数组长度为4的空数组
  • concat 链接两个数组 返回一个新的数组
var a1 = [1,2];
var a2 = [2,34];
var a3 = a1.concat(a2);
console.log('a3:',a3);

  • pop 删除数组的最后一个元素 返回删除的元素 原数组会改变
     var t = a1.pop();
    console.log(t);
    console.log(a1);
  • push 向数组的末尾添加元素 会改变原数组 返回数组的长度
  • unshift 向数组的开头添加元素 返回新数组的长度 原数组会改变
  • shift 删除数组的第一个元素 返回被删除的元素 原数组会改变
  • slice(start, end) 从start开始截取到end(不包含end) 返回一个新数组,原数组不变,如果只传一个值,就是一直截取到数组结尾,如果只传一个值,就是一直截取到数组结尾
 var arr1 = [1,2,3,4,5]
        var arr2 = arr1.slice(0,2)
        console.log(arr2);

  • splice(index, howmany, x1,x2...),index表示从数组的第几位开始,howmany表示从index位置删除多少个元素,x1~Xn表示追加多少个元素,追加的元素替换删除的元素显示在原数组中
 // splice(index, howmany, x1,x2...)
        var arr1 = [1,2,3,4,5]
        var arr2 = arr1.slice(0,2)
        console.log(arr1);//  1,2,3,4,5
        console.log(arr2);//  1,2

        var arr3  = [5,4,3,2,1]
        var arr4 = arr3.splice(0,3,11,12,13);
        console.log(arr3);// 11,12,13,2,1
        console.log(arr4);// 5,,4,3
  • reverse() 数组倒序该方法会改变原来的数组
  • sort() 对数组排序 会改变原数组,如果不传值 会按照字典序进行排列
<!--写一个排序方法,不写排序方法默认是升序-->
  function s1 (a,b){
        return b - a;  //降序序pailie
        }
        var arr5 = [3,4,98,5,6,20,1];
        a1 = arr5.sort(s1);
        console.log(arr5) //[98, 20, 6, 5, 4, 3, 1]
        console.log(a1); //[98, 20, 6, 5, 4, 3, 1]
  • toString 将数组转换成字符串 中间用","分割

        var a = ["hello"]
        var b = ["world"]
        var c = a.concat(b)
        console.log(c);
        var d = c.toString();
        console.log(d)

  • join 将数组转换称字符串 可以用指定字符分割
  // toString 将数组转换成字符串 中间用","分割
        var a = ["hello"]
        var b = ["world"]
        var c = a.concat(b)
        console.log(c);
        var d = c.toString();
        console.log(d)
        
        // toString 将数组转换成字符串 中间用","分割
        var e = c.join("!!!!")
        console.log(e);