数组的函数方法总结

数组的过滤:filter 嵌套一个函数fn 满足条件的数据形成新数组

const ac = [100, 200, 300, 400, 500, 600, 700];

        function fn(item, index, arr) {
            return item > 200;
        }
        console.log(ac.filter(fn));//[300,400,500,600,700]

数组的映像:map   ps:注意不是地图数据类型

同样嵌套一个fn

const ac = [100, 200, 300, 400, 500, 600, 700];

        function fn(item, index, arr) {
            return item * 2;
        }
        console.log(ac.map(fn)); //[200,400,600,800,1000,1200,1400]

数组的排序:sort

若从大到小快排则箭头函数里a,b=>b-a

const ac = [100, 300, 200, 500, 400, 600, 700];
        console.log(sort((a, b) => a - b));//[100, 200, 300, 400, 500, 600, 700]

数组的增加删除替换 splice   splice(index,num, exchange)参数三设定的数据 会替换删除的数据单元 在删除的数据单元位置会整体一次性写入 (替换,插入 ) 会改变原始数组

 const ac = [100, 200, 300, 400, 500, 600, 700];
        ac.splice(-2, 2, 2, 20); //去除600,700;  加入 2,20
        console.log(ac);//[100,200,300,400,500,2,20]

数组的截取:slice( a , b ) 包括开始单元 不包括结束单元 包括下标a,不包括b;若不写b参数则从a截取到结束。不改变原始数组 与 splice不同。

 const ac = [100, 200, 300, 400, 500, 600, 700];
        console.log(ac.slice(3, 5)); //[400,500]
        console.log(ac); //[100, 200, 300, 400, 500, 600, 700]

数组的拼接:concat 原始数组不变;

const ac = [100, 200, 300, 400, 500, 600, 700];
        const ad = [800, 900];
        console.log(ac.concat(ad)); //[100, 200, 300, 400, 500, 600,800,900]
        console.log(ac); //不变  [100, 200, 300, 400, 500, 600, 700]

(冷门)数组的叠加:reduce.           arr.reduce(fn(prev,item,index,array),数值)

prev:叠加结果. 叠加结果的变量如果没有赋值 函数会自动获取 数组第一个单元赋值给prev 从第二个单元开始循环 执行叠加操作       (如果prev没存值 则为undefined += 为 NAN)

数值 给prev赋值的

 const ac = [100, 200, 300, 400, 500, 600, 700];

        function fn(prev, item,index,array) {
            prev += item;
            return prev;
        }
        console.log(ac.reduce(fn, 50));//2850;

若无50 则自动赋值给 prev 且少循环一次

数组转字符串 join 不改变原数组

 const ac = [100, 200, 300, 400, 500, 600, 700];
        const vv = ac.join(`-`);
        console.log(vv); //100-200-300-400-500-600-700

字符串转数组 split  不改变原数组        

 const ac = `abc abcdd`;
        const ag = ac.split('c');
        console.log(ag); //以c分隔['ab','ab','dd']

还有一些较简单数组函数 如 在数组头部添加数据的 unshift 在尾部添加 push,中间添加可以使用. 在i后面加元素 : splice(i,1,arr[i],num)     或者splice(i+1,0,num)     

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值