js数组方法

    /**
     * 第一组: 关于数组的增加、删除、修改
     * 1、push 向数组的末尾添加新的内容   返回添加后新数组最终的长度   原有数组改变
     * 2、unshift 向数组开头增加新的内容  返回的也是增加后的数组长度   原有数组改变
     * 3、splice(n,0,x) 向数组中间添加新的内容  从索引n开始删除0个,把新增加的内容放在索引n的前面     返回的是空数组    原有数组改变
     *    splice(n,m)  删除数组中指定的某些项    从索引n(包含n)开始,删除m个元素    返回一个新的数组是由删除的内容组成   原有数组改变
     *    splice(n,m,x) 把原有数组中的某些项进行替换(先删除,然后用x替换)   从索引n开始删除m个元素,用x替换原来的,返回的是删除的元素
     * 规律:splice(0,0,x) 相当于 unshift
     *      splice(ary.length,0,x) 相当于 push
     * 4、pop   删除数组最后一个   返回的是删除的那一项   原有数组改变
     * 5、shift 删除数组开头一个   返回的是删除的那一项   原有数组改变
     */



     //push向数组的末尾添加新的内容
     var res = ary.push(16,10);
     console.log(res);


     // unshift向数组开头增加新的内容
     var res = ary.unshift(16,10);
     console.log(res);



     // splice(n,0,x)
     var res = ary.splice(2,0,"gold");
     console.log(res);
     console.log(ary)  //[10, 12, "gold", 13, 11, 19, 17]



     //splice(n,m)
     var reg = ary.splice(2,3);
     console.log(ary); //[10, 12, 17]
     console.log(reg); //[13, 11, 19]


     //splice(n,m,x)
     var reg = ary.splice(2,3,13);
     console.log(ary); //[10, 12, 13, 17]
     console.log(reg); //[13, 11, 19]



    /**
     *第二组: 数组的查询和复制
     * 6、slice(n,m)  从索引n开始(包含n),找到索引 m 处(不包含m)然后把找到的内容作为一个新的数组返回   原有数组不改变
     *    slice(n) 从索引n开始(包含n),查找到数组的末尾,然后把找到的内容作为一个新的数组返回,     原有数组不改变
     *    slice(0) == slice() 将原有数组原封不动的复制一份
     * 7、concat  数组的克隆  原有数组不改变 == slice() == slice(0)
     *            本意是实现数组的拼接  原有的数组不改变
     */

     //slice(n,m);
     var res = ary.slice(2,3);
     console.info(ary);  //[10, 12, 13, 11, 19, 17]
     console.info(res);  //[13]



     //concat复制
     var res = ary.concat();
     console.info(res);  //[10, 12, 13, 11, 19, 17]
     console.info(ary);   //[10, 12, 13, 11, 19, 17]

     //拼接
     var ary1 = ["gold","13"];
     var ary2 = [1,3,4,5];
     var res = ary1.concat(ary2);
     console.log(res);  //["gold", "13", 1, 3, 4, 5]


    /**
     * 第三组:将数组转化为字符串
     * 8、toString  把数组中的每一项用逗号隔开   原有数组不改变
     * 9、join  把数组中的每一项用指定符号隔开    原有数组不改变
     */

     //toString
     var res = ary.toString();
     console.log(res);//10,12,13,11,19,17
     console.log(ary);//[10, 12, 13, 11, 19, 17]


     //join
     var res = ary.join('+');
     console.log(ary); //[10, 12, 13, 11, 19, 17]
     console.log(res); //10+12+13+11+19+17


    var total = 0;
    for (var i = 0; i < ary.length; i++) {
       total += ary[i];
    }
    console.log(total)
    var res = eval(ary.join("+"));
    console.info(res);



    /**
     * 第四组:数组排列、排序
     * 10、reverse 排列: reverse 数组倒过来排列   原有数组改变
     * 11、sort 数组的排序 由大到小或由小到大       原有数组改变   只能处理10以内的排序
     *    sort(function(a,b){return a-b;}) 处理10以上的排序    由小到大
     *    sort(function(a,b){return b-a;}) 处理10以上的排序    由大到小
     */

    //reverse
    var res = ary.reverse();
    console.log(ary);   //[17, 19, 11, 13, 12, 10]
    console.log(res);   //[17, 19, 11, 13, 12, 10]



    var res = ary.sort();
    console.log(res);//[10, 11, 12, 13, 17, 19]
    console.log(ary);//[10, 11, 12, 13, 17, 19]

    //ary.push(3,28);
    /*var res1 = ary.sort();
    console.log(res1);//[10, 11, 12, 13, 17, 19, 28, 3]
    console.log(ary);//[10, 11, 12, 13, 17, 19, 28, 3]*/

    /*var res2 = ary.sort(function (a,b) {//有n项循环n-1次
        // a代表的是每一次循环的当前项  b代表的是当前项的后一项
        // a-b 就是当前项减去后一项 如果>0前面的比后面大 则两者交换位置
        // sort是遵循冒泡排序思想实现的
        console.info(a+'<====>'+b);
        return a-b;
    })*/

    /**
     * 第五组:不兼容
     * 10、indexof
     * 11、foreach
     * 12、map
     */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hongc93

感谢鼓励 继续航行

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值