ES6(数组扩展)

2020-04-28  本文已影响0人  KATENGC
//将数组变量转换成数组类型
{
    let arr = Array.of(3, 4, 7, 9, 11);
    console.log('arr=', arr);//[3, 4, 7, 9, 11]

    let empty = Array.of();
    console.log('empty=', empty);//[]
}


//将集合传换成数组
{
    let p = document.querySelectorAll('p');
    let pArr = Array.from(p);
    pArr.forEach(item => {
        console.log(item.textContent);
    });

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

//填充数组
{
    console.log('fill-7', [1, 'a', undefined].fill(7));//[7,7,7]

    //第一个参数:要填充的值;第二个参数:开始填充的下标;第三个参数:截止位置(从第二个参数对应的下标往后数,不包含第三个参数的下标)
    console.log('fill-7', ['a', 'b', 'c'].fill(7, 1, 3));//["a", 7, 7]
    console.log('fill-7', ['a', 'b', 'c', 'd', 'e', 'f'].fill(7, 1, 3));//["a", 7, 7, "d", "e", "f"]
}

//遍历
{
    for (let index of ['a', 'b', 'c', 'd', 'e', 'f'].keys()) {
        console.log('key=', index);
    }

    for (let index of ['a', 'b', 'c', 'd', 'e', 'f'].values()) {
        console.log('value=', index);
    }

    for (let [index, value] of ['a', 'b', 'c', 'd', 'e', 'f'].entries()) {
        console.log('index=', index, ' value=' + value);
    }
}

//当前数组中的某个位置被其他位置的值覆盖
{
    /**
     * 第一个参数:要替换的下标
     * 第二个参数:替换的值的下标
     * 第三个参数:截止位置(不包含)
     */
    console.log([1, 2, 3, 4, 5].copyWithin(0, 3, 4));//[4, 2, 3, 4, 5]
}

//查找find findIndex
{
    let arr = [1, 2, 3, 4, 5, 6];
    console.log(arr.find(item => {
        //返回第一个满足条件的值(找到即停止,不会继续向后找)
        return item > 3;
    }));//4

    console.log(arr.findIndex(item => {
        //返回第一个满足条件的下标
        return item > 3;
    }));//3
}

//是否包含某个值 可以识别NaN
{
    console.log([1, 2, NaN].includes(1));//true
    console.log([1, 2, NaN].includes(NaN));//true
}
上一篇下一篇

猜你喜欢

热点阅读