数组中常用方法集合

40 篇文章 0 订阅
32 篇文章 0 订阅
<script>

    // ->学习数组中常用的方法,我们需要按照四个维度去进行思考
    // 1)方法的作用
    // 2)需要哪些参数
    // 3)是否有返回值,返回值是什么
    // 4)通过此方法是否对原来的数组产生了改变

    // 1、关于数组的增加、修改、删除
    //   var ary = [12, 23, 34, 45,56,78,89,90];

    // 1)push:向数组的末尾增加新的内容
    //    ->参数:想向末尾增加哪些内容就传递谁,而且可以传递多个值,统一向末尾增加多项
    //    ->返回:新增加后数组的长度
    //    ->原来的数组已经发生了改变
    //     var res = ary.push(100,"硕士");
    //     console.log(res,ary);
    //     扩展 不想用push,也想向数组的末尾增加内容
    //     ary[4]=100;
    //     ary[ary.length] = 10;

    // 2)pop:删除数组最后一项内容
    //     ->参数:没有
    //     ->返回:被删除的那一项内容
    //     ->原有的数组也发生改变
    //     var res = ary.pop();
    //     console.log(res,ary);
    //     扩展:不用pop删除最后一项内容
    //    ary.length--;//->ary.length-=1->ary.length-1


    // 3)shift:删除数组中的第一项
    //     ->参数:没有
    //     ->返回:被删除的那一项内容
    //     ->原有的数组也发生改变
    // var res = ary.shift();
    // console.log(res,ary);

    // 4)unshift:向数组头增加一项
    //     ->参数:想增加谁就传递谁
    //     ->返回:增加后的数组长度
    //     ->原有的数组也发生改变
    // var res = ary.unshift(100);
    // console.log(res,ary);

    // 5)splice:它既能实现删除也能实现增加,还能实现修改
    //    [删除]
    //    ary.splice(n,m)从索引n开始,删除m个元素,把删除的内容以一个新数组的方式返回,原来的数组改变

    // ary.splice(n)从索引n开始,删除到数组的末尾
    // ary.splice(0)把原来的数组中每一项都删除掉(清空数组每一项),把之前的每一项以一个新的数组返回(把之前的数组克隆了一份一模一样的,这样的克隆会修改原来的数组)
    // ary.splice()数组中一项都没有传 返回一个空数组
    // var res = ary.splice(1,3);
    // console.log(res,ary);

    //     [修改]
    //     splice(n,m,x)从索引n开始删除m个用x替换删除的部分,把删除的内容以一个新的数组返回,原来的数组改变
    //     var res = ary.splice(2, 4,1000);
    //     console.log(res,ary);
    //      [增加]
    //      splice(n,0,x)从索引n开始一个都不删除(返回结果是一个空数组),把x增加到索引n的前面,原来的数组改变
    //         var res = ary.splice(2, 0, 1000);
    //             console.log(res, ary);
    //         var res = ary.splice(ary.length, 0, 1000);//向末尾增加1位
    //         var res = ary.splice(ary.length-1,1);//从末尾删除最后一项


    // 2、关于数组的截取和拼接

    // 1)slice:实现数组的截取,在原来的数组中,截取某一部分
    // slice(n,m) 从索引n开始,找到索引为m处(不包含m)将找到的部分已一个新的数组返回,原来的数组不变
    // slice(n) 从索引n开始一直找到数组末尾
    // slice(0)/slice() 把原来的数组克隆一份一模一样的新数组返回
    //         var ary = [12, 23, 34, 45,56,78,89,90];
    //         var newArray = ary.slice(3,6);
    //         console.log(newArray);

    // 2)concat:把俩个数组拼接到一起,原来的数组不变
    // ary.concat(ary2)把ary2和ary进行拼接,ary2在后面
    // ary.contcat()把ary1克隆一份 一模一样的数组
    //             var ary = [12, 23, 34, 45,];
    //             var ary2 = [56,78,89,90];
    //             var newAry = ary.concat(ary2);
    //             console.log(newAry);

    // 3、把数组转化为字符串
    // 1)toString:把数组转化为字符串,原来的数组不变

    // var ary = [12, 23, 34, 45,];
    // var res = ary.toString();
    // console.log(res);//"12,23,34,45"
    // 2)join: 按照一个分隔符,把数组中的每一项拼接成字符串,原来的数组也不变
    //     var ary = [12, 23, 34, 45,];
    //     var res = ary.join("+");
    //     console.log(res);//"12+23+34+45"
    // 扩展:eval->JS中把字符串变为JS表达式执行的一个方法
    // console.log("12+23+34+45");//->114
    // 把数组中的每一项进行求和
    //     var ary = [12, 23, 34, 45,];
    //     console.log(eval(ary.join("+")));

    //     for(var i = 0;i<ary.length;i++){
    //         var sum = 0;
    //         sum = sum+ary[i];
    //     }
    // 4、数组的排序和排列
    // 1)reverse 把数组倒过来排列,原来的数组也会发生改变
    // 2)sort:给数组进行排序
    //     ary.sort()这样的话只能处理10以内的数字进行排序,因为他是按照UNICODE编码的值进行排序的
    //     ary.sort(function (a,b) {
    //         return a - b;//由小到大
    //         return b - a;//由大到小
    //     });

    //     var ary = [12, 23, 34, 45,];
    //     var res = ary.reverse();
    //     console.log(res,ary);

    // 5、只有在标准浏览器中兼容的方法,在IE 6、7、8下不兼容的
    // 1)indexOf/lastIndexOf(字符串中也有这俩个方法,但是字符串中的这俩个方法兼容所有浏览器,但是数组中这俩个方法是不兼容的)
    // 当前内容在数组中第一次/最后一次出现位置的索引,如果数组中没有这一项,返回的结果是-1,如果有这一项,索引是几就返回几,原来的数组不变

    //     var ary = [12, 23, 34, 45,];
    //     console.log(ary.indexOf("66"));//-> -1
    // //这样的话我们就可以验证当前的内容在数组中是否存在了
    //     if (ary.indexOf("66")>-1) {
    //         //说明"66"在数组中存在

    //     }
    //     说明66在数组中不存在

    // 2)forEach/map 都是用来遍历数组中的每一项的
    // forEach数组中有几项,我们的函数就执行几次,原来的数组不变
    // item是属性值 当前便利的数组中这一项的值
    // index是属性名 当前这一项的索引

    //     var ary = [12, 23, 34, 45,];
    //     ary.forEach(function (item,index) {
    //        console.log(item,index);
    //     });
    // map 和forEach语法一样,但是比forEach多加了一个把原来内容进行替换的功能
    //  返回的新数组每一项都乘了10
    //             var ary = [12, 23, 34, 45,];
    //            var newAry = ary.map(function (item,index) {
    //                 return item * 10;
    //              });
    //             console.log(ary);//->[12, 23, 34, 45]
    //             console.log(newAry);//->[120, 230, 340, 450]














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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值