数组的扩展

三点运算:rest参数,将一个数组转化为逗号分隔的序列
let arr1 = [1,2,3];
let arr2 = [4,5,6];
//把数组转换成一个用逗号连接的序列
let arr3 = [...arr1,...arr2];
console.log(arr3) //[1, 2, 3, 4, 5, 6]

console.log(...arr1) //1,2,3

//实现插入
let arr3 = [1,2,3,...arr2,7,8,9]
console.log(arr3) //[1, 2, 3, 4, 5, 6, 7, 8, 9]


Array.from:将伪数组(类似数组的对象)变为真数组
//js常见的伪数据:html元素数组,arguments

let divArr = document.getElementsByTagName('div');
divArr = Array.from(divArr);    
console.log(divArr);
divArr.forEach(function(item,index){
    console.log(item)
})

function test(){
    console.log(arguments); //[1,2,3,4,callee:f...]
    let args = Array.from(arguments);
    args.forEach(function(item,index){
        console.log(item,index);//1 0  2 1  3 2  4 3
    })
}
test(1,2,3,4);


let arr = Array.of(1,2,3,4,5);//将多个元素组合成一个真数组
console.log(arr)//[1, 2, 3, 4, 5]

Array.prototype

[1,2,3,4,5,6,7].copyWithin(0,4,6);//从0开始替换,替换内容:从4-6
//[5,6,3,4,5,6,7]


let arr = [1,2,3,4,5];
let res = arr.find(function(item){
    return item>3;//4
})

let res = arr.findIndex(function(item){
    return item>3; //3
})
console.log(res) 

表示范围的都是包头不包尾
fill(value,start,end)
console.log([1,2,3,4,5].fill(10)) //[10,10,10,10,10]
console.log([1,2,3,4,5,6,7].fill(a,0,4)) //[10,10,10,10,10]

entries() keys() values():返回键、值、实体遍历器
let arr = [1,2,3,4,5];
arr.values();
for(let value of arr.values()){
    console.log(value);     //1,2,3,4,5
}
for(let index of arr.keys()){
    console.log(index);
}
for(let [index,value] of arr.entries){
    console.log(index,value);
}

let arr = [1,2,3,4,5,NaN];
console.log(arr.includes(6)) //false
console.log(arr.includes(NaN)) //true 这个方法可以帮我们找到NaN
原文地址:https://www.cnblogs.com/lisa2544/p/15554737.html