美文网首页
数组的扩展(笔记)

数组的扩展(笔记)

作者: 灰灰_82a6 | 来源:发表于2019-05-05 10:33 被阅读0次

    合并数组

    (浅拷贝)
    es5中,使用concat()

    const a1 = [1,2];
    const a2 = [3,4];
    let a3=a1.concat(a2);
    
    console.log(a3) //[1,2,3,4]
    

    es6中,使用扩展运算符

    const a1 = [1,2];
    const a2 = [3,4];
    let a3=[...a1,...a2]
    
    console.log(a3) //[1,2,3,4]
    
    一些新的方法

    1.Array.from()
    可以将类素组对象和可遍历的对象转换为数组。

    let arrayLike = {
        '0': 'a',
        '1': 'b',
        '2': 'c',
        length: 3
    };
    
    // ES5的写法
    var arr1 = [].slice.call(arrayLike); // ['a', 'b', 'c']
    
    // ES6的写法
    let arr2 = Array.from(arrayLike); // ['a', 'b', 'c']
    

    2.Array.of()
    Array.of方法用于将一组值,转换为数组。

    Array.of(3, 11, 8) // [3,11,8]
    

    数组实例的 find() 和 findIndex()

    1.find方法,用于找出第一个符合条件的数组成员。参数是一个回调函数,返回符合条件的第一个值。如果没有符合条件的成员,则返回undefined。

    [1, 4, -5, 10].find((n) => n < 0)   // -5
    

    find方法的回调函数可以接受三个参数,依次为当前的值、当前的位置和原数组。
    2.findIndex方法返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1。

    数组实例的 entries(),keys() 和 values()

    使用for..of..遍历数组,keys()是对键名的遍历、values()是对键值的遍历,entries()是对键值对的遍历。

    for (let index of ['a', 'b'].keys()) {
      console.log(index);
    }
    // 0
    // 1
    

    includes()

    1.查找数组中是否包含某个值,返回布尔类型。(与字符串中的includes()类似).第一个参数是要查找的值,第二个参数是从哪一个位置开始查找。

    [1, 2, 3].includes(2)     // true
    [1, 2, 3].includes(3, 3);  // false
    

    2.与indexOf进行比较
    indexOf内部使用严格相等运算符(===)进行判断,所以无法检测NaN的位置。includes是可以检测NaN的。

    相关文章

      网友评论

          本文标题:数组的扩展(笔记)

          本文链接:https://www.haomeiwen.com/subject/xcjxoqtx.html