js数组操作

作者: 手指乐 | 来源:发表于2019-10-10 14:37 被阅读0次
    • 初始化
      / 字面量方式:
      // 这个方法也是我们最常用的,在初始化数组的时候 相当方便
      var a = [3, 11, 8]; // [3,11,8];
      // 构造器:
      // 实际上 new Array === Array,加不加new 一点影响都没有。
      var a = Array(); // []
      var a = Array(3); // 一个参数,代表数组长度,值都没有定义,[undefined,undefined,undefined]
      var a = Array(3,11,8); //多个参数,代表插入数组的值 [ 3,11,8 ]
    var mycars=new Array()
    mycars[0]="Saab"
    mycars[1]="Volvo"
    mycars[2]="BMW"
    
    var mycars=new Array(3)
    mycars[0]="Saab"
    mycars[1]="Volvo"
    mycars[2]="BMW"
    
    • concat组合多个数组到一个大数组
    <script type="text/javascript">
    
    var arr = new Array(3)
    arr[0] = "George"
    arr[1] = "John"
    arr[2] = "Thomas"
    
    var arr2 = new Array(3)
    arr2[0] = "James"
    arr2[1] = "Adrew"
    arr2[2] = "Martin"
    
    var arr3 = new Array(2)
    arr3[0] = "William"
    arr3[1] = "Franklin"
    
    document.write(arr.concat(arr2,arr3))
    
    </script>
    
    • join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的
    <script type="text/javascript">
    
    var arr = new Array(3)
    arr[0] = "George"
    arr[1] = "John"
    arr[2] = "Thomas"
    
    document.write(arr.join())
    
    </script>
    
    George,John,Thomas
    
    <script type="text/javascript">
    
    var arr = new Array(3)
    arr[0] = "George"
    arr[1] = "John"
    arr[2] = "Thomas"
    
    document.write(arr.join("."))
    
    </script>
    George.John.Thomas
    
    • reverse() 方法用于颠倒数组中元素的顺序。

    • pop删除并返回数组的最后一个元素

    • push向数组的末尾添加一个或更多元素,并返回新的长度。

    • shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。

    • unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

    • slice() 方法可从已有的数组中返回选定的元素(获取子串)
      如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。

    <script type="text/javascript">
    
    var arr = new Array(3)
    arr[0] = "George"
    arr[1] = "John"
    arr[2] = "Thomas"
    
    document.write(arr + "<br />")
    document.write(arr.slice(1) + "<br />")
    document.write(arr)
    
    </script>
    George,John,Thomas
    John,Thomas
    George,John,Thomas
    
    <script type="text/javascript">
    
    var arr = new Array(6)
    arr[0] = "George"
    arr[1] = "John"
    arr[2] = "Thomas"
    arr[3] = "James"
    arr[4] = "Adrew"
    arr[5] = "Martin"
    
    document.write(arr + "<br />")
    document.write(arr.slice(2,4) + "<br />")
    document.write(arr)
    
    </script>
    George,John,Thomas,James,Adrew,Martin
    Thomas,James
    George,John,Thomas,James,Adrew,Martin
    

    begin从0开始计数,不包括end

    • sort对数组排序
    <script type="text/javascript">
    
    function sortNumber(a,b)
    {
    return a - b
    }
    
    var arr = new Array(6)
    arr[0] = "10"
    arr[1] = "5"
    arr[2] = "40"
    arr[3] = "25"
    arr[4] = "1000"
    arr[5] = "1"
    
    document.write(arr + "<br />")
    document.write(arr.sort(sortNumber))
    
    </script>
    

    10,5,40,25,1000,1
    1,5,10,25,40,1000

    return a-b 跟这个一样:

        if(a<b){
            return -1;
        }
        if(a>b){
           return 1;
        }
        return 0;
    
    • splice:
      方法用于删除、替换、添加数组中的元素

    第一个参数:下标
    第二个参数:删除数量,0表示不删除
    第三个以后的参数:插入元素,长度可以动态变化,不填表示不插入

    var list = [];
    list.push(1);
    list.push(2);
    list.push(3);
    console.log(list); // [1, 2, 3]
    
    // 删除
    list.splice(0, 1);  // 删除  -> 从下标为0开始,长度为1
    console.log(list); // [2,3]
    list.splice(0, 2);  // 删除  -> 从下标为0开始,长度为2
    console.log(list); // []
    
    //把上面四句替换成下面四句
    //替换 
    list.splice(0, 1, 4); // 替换 -> 从下标为0开始,长度为1的数组元素替换成4
    console.log(list);  // [4,2,3]
    list.splice(0, 2, 4); // 替换 -> 从下标为0开始,长度为2的数组元素替换成4(即4,2整体替换成4)
    console.log(list);  // [4,3]
    
    //把上面四句替换成下面四句
    list.splice(1, 0, 5); // 表示在下标为1处添加一项5 
    console.log(list); // [1,5,2,3]  
    list.splice(1,0,5,4,3); // 表示在下标为1处依次添加5/4/3三个元素 
    console.log(list); // [1,5,4,3,2,3]
    
    • map--遍历数组元素,对数组做处理生成新的数组
    var data = [1, 2, 3, 4];
    var arrayOfSquares = data.map(function (item) {
      return item * item;
    });
    alert(arrayOfSquares); // [1, 4, 9, 16]
    

    在实际使用的时候,我们可以利用map方法方便获得对象数组中的特定属性值们。例如下面这个例子:

    var users = [
      {name: "张含韵", "email": "zhang@email.com"},
      {name: "江一燕",   "email": "jiang@email.com"},
      {name: "李小璐",  "email": "li@email.com"}
    ];
    var emails = users.map(function (user) { return user.email; });
    

    相关文章

      网友评论

        本文标题:js数组操作

        本文链接:https://www.haomeiwen.com/subject/lxtapctx.html