当前位置 博文首页 > 纸飞机博客:数组拓展方法

    纸飞机博客:数组拓展方法

    作者:[db:作者] 时间:2021-09-07 10:08

    展开运算符(...)

    //非数组方法,而是可以用在数组等可迭代对象上,将参数展开成逗号相连的序列。
    console.log(l,...[2,3,4], 5)
    //l, 2, 3, 4, 5 

    Array.from

    //将两类对象转为真正的数组:伪数组对象(拥有length属性和索引属性)和可迭代对象(iterable)
    let arrayLike = {
        '0':'a',
        length: 3
    };
    let arr = Array.from(arrayLike);
    //['a','b','c']

    Array.of

    //将一组值,转换为数组
    Array.of(3,11,8) //[3,11,8]

    fill()

    //用给定值填充一个数组,并返回修改后的数组
    let arr = ['w','b'];
    arr.fill('i') //['i','i']
    arr.fill('o',1)//['i','o'], 1表示填充起始位置
    new Array(3).fill('k').fill('r',1,2)
    //['k','r','k'], 2表示填充结束位置

    includes()

    //表示某个数组是否包含给定的值
    [1,2,3].includes(2) //true
    [1,2,3].includes(4) //false

    find()和 findlndex()

    //find用于找出第一个符合条件的数组成员,如果没有则返回undefined
    [1,5,10,15].find(function (value,index,arr){
        return value > 9;
    })
    //10
    //findIndex: 个符合条件的数组成员的位置,如果都不符合则返回-1
    [1,5,10,15].
    findIndex(function(value, index, arr) {
        return value > 9;
    ))
    //2 

    keys()

    //返回一个包含数组索引的迭代器(Iterator),能被for of遍历。
    let arr = [l,2,234,'sdf',-2];
    let iter = arr.keys()
    iter.next() //{value: 0, done: false}
    iter.next() //{value: 1, done: false}
    
    ------------------
    
    let arr2 = ['a','b','c'];
    let iter2 = arr2.keys()
    for (let a of iter2){
        console.log(a)
    }
    //0 1 2

    values()

    //返回一个包含数组值的迭代器(Iterator),能被for of遍历。
    let arr = [1,2,234,'sdf' ,-2];
    let iter = arr.values()
    iter.next() //{value: 1, done: false}
    iter.next() //{value: 2, done: false}
    
    --------------
    
    let arr2 = ['a','b','c'];
    let iter2 = arr2.values()
    for (let a of iter2){
        console.log(a)
    }
    //a b c

    entries()

    //返回一个包含数组索弓/值对的迭代器(Iterator),能被for of遍历。
    let arr =[1,2,234,'sdf',-2];
    let iter = arr.entries();
    iter.next() //{value: [0,1], done: false}
    iter.next() //{value: [1,2], done: false}
    let arr2 = ['a','b','c'];
    let iter2 = arr2.entries()
    for (let a of iter2){
        console.log(a)
    }
    //[0,"a"] [1,'b'] [2,'c']

    Set、?Map、Array、?Object都有keys,values和 entries。三个方法,方法分别返回数据结构的键名, 键值,名/值对(迭代时用数组展示)

    Sets、Map、Array以迭代器的形式返回,Object以数组形式返回。

    Set、Map、Array的三方法是原型上的方法; 对象调用,Object的三方法是静态方法,直接传参调 用。

    cs
    下一篇:没有了