js中数组得方法


  <SCript>



// 1. 增:
//     前增: unshift(元素1,元素2,……)
//     作用:在数组的首部增加新的元素
//     返回值:是新增后数组的长度
//     是否影响原数组:是

    var arr = [5,6,7,8,9];
    console.log(arr.unshift(1,2,[3,4],true));  //9  新增后数组的长度为9
    console.log(arr); // [1,2,[3,4],true,5,6,7,8,9]

    // 后增: push(元素1,元素2,……)
    // 作用:在数组的尾部增加新的元素
    // 返回值:是新增后数组的长度
    // 是否影响原数组:是

    var arr = [5,6,7,8,9];
    console.log(arr.push(1,2,[3,4],true));  //9  新增后数组的长度为9
    console.log(arr); // [5, 6, 7, 8, 9, 1, 2, [3,4], true]

// 2. 删:
//     前删: shift()
//     作用:删除数组首部的元素,一次只能删除一个元素
//     返回值:返回被删除的元素
//     是否影响原数组:是

    var arr = [5,6,7,8,9];
    console.log(arr.shift());  //5  被删除的元素
    console.log(arr); // [6, 7, 8, 9]

    // 后删: pop()
    // 作用:删除数组尾部的元素,一次只能删除一个元素
    // 返回值:返回被删除的元素
    // 是否影响原数组:是

    var arr = [5,6,7,8,9];
    console.log(arr.pop());  //9  被删除的元素
    console.log(arr); // [5, 6, 7, 8]

// 3. 改:
//     splice(从哪个下标开始,删除几个元素,新增元素1,新增元素2,……)
//     作用:要数组的任意位置增、删、改
//     是否影响原数组: 是

     var arr = [5,6,7,8,9];
    console.log(arr.splice(1));  //[6, 7, 8, 9]  被删除的元素数组
    console.log(arr); // [5]

    var arr = [5,6,7,8,9];
    console.log(arr.splice(1,2));  //[6, 7]  被删除的元素数组
    console.log(arr); // [5, 8, 9]

    var arr = [5,6,7,8,9];
    console.log(arr.splice(1,2,[1,2],true));  //[6, 7]  被删除的元素数组
    console.log(arr); // [5, [1,2], true, 8, 9]

    var arr = [5,6,7,8,9];
    console.log(arr.splice(1,0,[1,2],true));  //[]  被删除的元素数组
    console.log(arr); // [5, [1,2], true, 6, 7, 8, 9]
// 4. 截:
//     slice(从哪个下标开始,到哪个下标结束)
//     作用:截取数组中指定范围的元素
//     返回值:返回截取到的新数组
//     是否影响原数组:否

    var arr = [5,6,7,8,9];
    console.log(arr.slice(1));  //[6, 7, 8, 9]  截取到的新数组
    console.log(arr); // [5, 6, 7, 8, 9]

    var arr = [5,6,7,8,9];
    console.log(arr.slice(1,3));  //[6, 7]  截取到的新数组
    console.log(arr); // [5, 6, 7, 8, 9]

    var arr = [5,6,7,8,9];
    console.log(arr.slice(3,1));  //[]  截取到的新数组
    console.log(arr); // [5, 6, 7, 8, 9]

    var arr = [5,6,7,8,9];
    console.log(arr.slice(-3,-1));  //[7, 8]  截取到的新数组
    console.log(arr); // [5, 6, 7, 8, 9]

// 5. 拼
//     concat(元素1,元素2,……)
//     作用:合并数组,将指定的元素拼接到数组后面。(如果拼接的元素是一个数组,则展开最外层数组,将里面的元素拼接到数组后面)
//     返回值:返回拼接后的新数组
//     是否影响原数组:否

    var arr = [5,6,7,8,9];
    console.log(arr.concat(-3,[true,[false,0]],null));  // [5, 6, 7, 8, 9, -3, true, [false,0], null]  截取到的新数组
    console.log(arr); // [5, 6, 7, 8, 9]

// 6. 复(写出两种复制数组的方法)
     function copyArray(arr){
        return arr.slice(0);
    }

    function fnCopyArray(arr){
        return arr.concat();
    }
    //[1,2,3]   [1,2,3]
    function fnCopyArr(arr){
        var new_arr = [];
        for(var i = 0,len = arr.length;i < len;i ++){
            // new_arr.push(arr[i]);
            new_arr[i] = arr[i];
        }
        return new_arr;
    }

// 7. 排


//     1. reverse() 
//     作用:逆序原数组
//     返回值:逆序后的数组
//     是否影响原数组:是

    var arr = [5,4,6,3,7];
    console.log(arr.reverse()); //[7, 3, 6, 4, 5]
    console.log(arr); //[7, 3, 6, 4, 5]

    // 2. sort()
    // 作用:将数组中的元素按照字符串从小到大排列
    // 返回值:返回排序后的数组
    // 是否影响原数组:是

    var arr = [5,10,3,12,20];
    console.log(arr.sort()); //[10, 12, 20, 3, 5]
    console.log(arr); //[10, 12, 20, 3, 5]


    sort(function(a,b){return a-b;}) 
    //  将数组中的元素按照数字从小到大排列
    sort(function(a,b){return b-a;})
      // 将数组中的元素按照数字从大到小排列

    var arr = [5,10,3,12,20];
    console.log(arr.sort(function (a,b){return a - b;})); //[3, 5, 10, 12, 20]
    console.log(arr); //[3, 5, 10, 12, 20]

    var arr = [5,10,3,12,20];
    console.log(arr.sort(function (a,b){return b - a;})); //[20, 12, 10, 5, 3]
    console.log(arr); //[20, 12, 10, 5, 3]

// 8. 转
//     1.  toString()  注:不是数组的方法,是Object对象的方法,是继承给数组的。
//             1.. 用于数字,将数字转为指定进制的字符串(2~36)
//             2.. 用于数组:将数组转为字符串

            var arr = [1,2,3,4,5];
            console.log(arr.toString()); //'1,2,3,4,5'
            console.log(arr); //[1,2,3,4,5]

    // 2. join('连接符')
    // 作用:将数组转为以指定连接符连接的字符串。
    // 返回值:返回字符串
    // 是否影响原数组:否

    var arr = [1,2,3,4,5];
    console.log(arr.join('')); //'12345'
    console.log(arr); //[1,2,3,4,5]


    [[],[],[]]
    [[[]],[[]]]


    // 查:
        indexOf(元素,开始下标) 
        // : 查找元素在数组中第一次出现的下标位置,第二个参数决定从哪个下标位置开始向后查找。如果没有找到,返回 -1

        lastIndexOf(元素,开始下标)
        // : 查找元素在数组中最后一次出现的下标位置,第二个参数决定从哪个下标位置开始向前查找。如果没有找到,返回-1
    // 遍历:
        forEach(function(value,index,array){})  //取出每一个元素

        map(function(value,index,array){ return ...}) //取出每一个元素,而且可以对元素进行操作。返回一个新数组。
        
        filter(function(value,index,array){return ...}) //遍历出每一元素,进行按条件过滤,返回过滤后的数组

        some(function(value,index,array){return ...}) //如果遍历出的元素只要有一个满足条件,则退出循环,返回true 。如果所有元素都不满足条件,返回false

        every(function(value,index,array){return ...}) //如果遍历出的元素只要有一个不满足条伯,则退出循环,返回false。 如果所有元素都满足条件,返回true

        reduce(function(prev,next,index,array){return ...}))  //归并
         //当第一次循环的时候,prev中存入的是数组中第一个元素,next第二个元素。
        //从第二次循环开始,prev中存入的是 prev 与 next 运算后的结果。next依次取后面的每一个元素
        //返回处理后的结果

  </SCript>
</body>
</html>```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值