数组的扩展

一,数组扩展
    1,Array.from()
        作用:用于将两类对像转为数组(类数组对象array-like-object,可遍历对象iterable)
        语法:
            let divs = documentsByTagName('div);
            var dArr = Array.from(divs);
            function ff(){
                var arr = Array.from(arguments);
            }
        from 方法还可以接受第二个参数,作用类似于map放,用来对每一个元素就行处理,将结果
        放进新的数组中,映射
            from 可以将各种值转为数组,拥有map功能,只要有一个原始的数据解构,就可以先对他
            进行处理,然后转为一个标准的数组,最后就可以使用新数组调用数组的各种方法
        from    将字符串转为数组,返回字符串长度,使用es5方法split 转会将大于 \uffff的
        unicode编码认为是两个字符使用from,由于其可以识别各种unicode 编码,可以避免将大
        于 \uffff的编码算作两个字符串bug
    2,Array.of()
        作用:用于将一组值转为数组,这个方法主要用于弥补Array()构造函数的不足之处(Array()  构造函数会
        因为参数个数的不同处理有所差异,参数大于2时才会生成真正的数组)所以使用of替代Array(),Array.of()
        总会返回一个新数组,如果没有参数就是个空数组
    3,copyWidthin()
        这个方法是数组实例化对象的方法,作用是将当前数组内部指定的成员复制到其他的位置(会覆盖原来的成员)
        然后返回当前数组,这个方法会修改原数组
        语法:
            [1,2,3,4,5].copyWidthin(target,start,end);
            target:必须,从这个位置开始替换
            start:可选,从这个位置开始读取,默认0,负值表示倒着取,最后一个值就是-1,
            end:可选,表示到这个位置读取结束,默认值数组长度,负值倒序,不包含这个位置
    4,find() 和 findIndex()
        数组实例化的方法find,用于找出第一个复合条件的成员,参数是回调函数,原理:将所有
        元素一次执行该回调,找到第一个返回true的元素,并将该元素返回,结束遍历,如果没找到
        ,反回undefined
        find() 可以接受三个参数,依次是  值     下标      原数组
        findIndex() 数组实例化对象的方法,用法与find一样,返回第一个复合条件元素的下标,
        如果没有找到符合条件的元素,返回-1
    5,fill()
        使用给定的值,填充一个数组,fill方法用于空数组初始化非常方便,数组中已有的元素全部
        会被抹除
        fill()  方法可以接受三个参数:
            [1,2,3,4,5,6,7].fill('a',3,5)
            后2个参数用于指定填充的位置
            使用a将3 -5的位置填充,不包括5
    6,includes();
        返回一个布尔值,用于判断数组中是否包含某一个元素,包含返回真,不包含返回假,与字符串
        的includes方法类似
        接受第二个参数表示从那个位置开始搜索,默认为0,负数表示倒序,如果超出数组长度,则认为
        是从0开始
    7,数组空位
        数组的空位指的是在数组的某个位置上没有任何值,new Array(3) //[,,]
        注意:空位不是undefined,如果一个位置上是undefined,说明这个位置是有值的
        es5中,对空位的处理很不一致,大多数情况会跳过:
            forEach(),filter(),every(),some()等遍历方法都会跳过空位
            map()会跳过空位,但会保留这个值
            join()和toString()会将空位视为undefined,而真正的undefined和null将会被
            处理为空字符串
        es6中,所有的空都是undefined
        注意:由于数组中出现空值会影响数组使用,处理方法不一致,所以工作过程中尽量避免数组出现空值
        
        
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值