转圈圈

javascript 数组

  • splice slice

    • slice(开始位置,结束位置)

    • splice(开始位置,个数,参数...)

        var arr = [1,2,3,4,5,6];
        // 第一个参数都是0 的时候 
        arr.splice(0,1) // [1]
        arr.slice(0,1) // [1]
        // 第一个参数不是 0 的时候
        arr.splice(1,2) // [2,3]  
        arr.slice(1,2)   // [2]
    
  • slice 浅拷贝

       // 数组里面是简单数据类型 值不会跟着变
       var arr = [1,2,3,4];
       var arr_slice = arr.slice(); // [1,2,3,4]
       arr[1] = 1; 
       arr // [1,1,3,4]
       arr_slice // [1,2,3,4]
       // 数组里面是复杂数据类型数组 对象,值会被改变
       var arr = [[1,2],[3,4]];
       var arr_slice = arr.slice(); 
       arr[0][1] =  1; // [[1,1],[3,4]]
       arr_slice // [[1,1],[3,4]]
    

  • join

    var arr = [1,[2,[3,[4,[5]]]]];
    arr.join() // "1,2,3,4,5" //
    [1,[{a:1,b:2}],{}].join() // "1,[object Object],[object Object]"
    

  • indexOf

    indexOf 使用 === 判断

    var arr =  [1,"12",true,"3",NaN];
    arr.indexOf(1) // 0
    arr.indexOf("1") // -1
    arr.indexOf("12") // 1
    arr.indexOf(true) // 2
    arr.indexOf(NaN) // -1 NaN !== NaN
    

原文:

posted @ 2019-04-20 22:14  rosendolu  阅读(108)  评论(0编辑  收藏  举报