JavaScript数组方法

1.排序sort()

数组的排序,sort(),在原数组上进行操作排序

  •        sort() 默认是字典排序(按字母排序);
  •         如果数字排序,sort(callback) 接受一个回调函数callback(a,b),a代表第一个元素,b代表第2个元素。如果callback返回值大于0,则a,b交换位置。 
        var arr1 = ["a","c","b","e","d"];

        var arr2 = [1,3,2,8,5,6];

        var2 = arr2.sort(function(a,b){

            // return a - b; // 数组元素由小到大的排序。

            return b - a   // 数组元素由大到小的排序。

        })

复杂数据类型的排序:按照num数组由小到大的排序。

var arrobj1 = [
                {num:1,text:"a"},
                {num:3,text:"c"},
                {num:2,text:"b"}
              ]

arrobj1 = arrobj1.sort(function(a,b){ // a是数组的对象元素{num:1,text:"a"}

    return a.num - b.num;

})

2.遍历数组map()

把每个元素放到回调函数的参数里面,回调函数返回一个结果,作为一个新的元素,整个map会返回一个新的数组。

一般用在数组元素的计算,并需要生成一个新的数组。

        var arr3 = ["a","b","c","d"];

        var arr4 = arr3.map(function(item){return item+"001"});

        console.log(arr4);// ['a001', 'b001', 'c001', 'd001']

3.过滤数组元素filter()

遍历每个数组元素,放到回调函数的参数里面,返回true,就保留该元素,返回false就过滤该元素。会返回一个新的数组。     

        var arr5 = [1,2,3,4,5,6];
 
        var arr6 = arr5.filter(function(item){return item % 2 === 0 });

        console.log(arr6);// [2, 4, 6]

 4. 依次处理数组元素reduce(a,b)

 累加每个元素的值,返回的是一个值。     

        //  第一次, a是第一个元素,b第二个元素
        //  第二次开始,a是上一轮a+b的结果,b是第三个成员,以此类推。
        // 一般用在数组元素的累加。
        var arr7 = [1,2,3,4,5,6];
        var num7 = arr7.reduce(function(a,b){
            return a + b;
        });
        console.log(num7);//21

5.返回元素在数组中第一次出现的位置indexOf()

    var arr3 = ["a","b","c","d","c"];

    console.log(arr3.indexOf("c"));//2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值