es6-6 数组扩展

Array.of()

Array.of() 不传参就是一个空数组 []
{
    let arr = Array.of(3, 4, 7, 9, 11);
    console.log(arr); // [3, 4, 7, 9, 11]
}

Array.from()

Array.from() 可以把集合转变成数组
<body>
    <p>暖洋洋</p>
    <p>沸洋洋</p>
    <p>喜洋洋</p>
</body>
{
    let p = document.querySelectorAll('p')
    let pArr = Array.from(p); // 成功把集合转变成数组
    pArr.forEach((item) => {
        console.log(item.textContent); // 暖洋洋 沸洋洋 喜洋洋
    })
}

Array.from() 类似于 map 映射

{
    console.log(Array.from([1, 3, 5], item => {
        return item * 2
    })); // [2, 6, 10]
}

fill() 数组填充

{
    console.log('fill-7', [1, 'a', undefined].fill(7)); // [7, 7, 7]
    console.log('fill-pos', ['a', 'b', 'c'].fill(7, 1, 3)); // ['a', 7, 7] 从第一个开始换, 直到第三个 [1开始, 3结束]
}

entrieskeysvalues

keys() 遍历返回所有下标

{
    for (let index of ['1', 'c', 'ks'].keys()) {
        console.log('keys', index); // 0 1 2 keys()返回所有下标
    }
}

values() 返回所有单元值

{
    for (let value of ['1', 'c', 'ks'].values()) {
        console.log('value', value); // 1 c ks values()返回所有单元值
    }
}
entries() 同时返回 key 和 value
{
    for (let [index, value] of ['1', 'c', 'ks'].entries()) {
        console.log('entries', index, value); // 0-1 1-c 2-ks entries()同时返回下标和值
    }
}

copyWithin()

复制一个单元到其它位置, 参数1: 开始替换位置 参数2: 从哪个位置读取数据 参数3: 截止位置
{
    console.log([1,2,3,4,5].copyWithin(0,3,4)); // [4,2,3,4,5]
}

find() findIndex()

在数组中找到符合条件的值, 注意只找到第一个符合条件的就会截止, 需要区别的是 find() 找的是单元值, 而 findIndex() 找的是索引

{
    console.log([1,2,3,4,5,6].find((item) => {
        return item > 3
    })); // 4 只找出第一个符合要求的值
    console.log([1,2,3,4,5,6].findIndex((item) => {
        return item > 3
    })); // 3 只找出第一个符合要求的下标
}

inludes()

判断一个值是否在数组中存在

{
    console.log([1,2,NaN].includes(1)); // true
    console.log([1,2,NaN].includes(NaN)); // true
}
原文地址:https://www.cnblogs.com/helzeo/p/11813088.html