编辑代码

var a = [1,2,3,4,5];
let b = a.copyWithin(1,3,5);
console.log(b);
//Array.from()
let c = Array.from({0:"asdas",1:"aghg",2:"oituo", length: 3});
console.log(c);
//Array.of()
let e = Array.of(1,2,3,4,5);
console.log(e);
//扩展运算符
let d = [...'hello'];
console.log(d);
//数组实例的 find() 和 findIndex() 
var as = [1,2,-5,-8].find(function(value,index,arr){
    return value<0 && index>2;
})
console.log(as);

var a1 = [1,2,-5,-8].findIndex(function(value,index,arr)
{
    return value<0 && index>2;
}) 
console.log(a1);

var a2 = NaN === NaN;
var a3 = Object.is(NaN,NaN);
console.log(a2);
console.log(a3);
var a4 = +0 == -0;
var a5 = Object.is(+0,-0);
console.log(a4);
console.log(a5);
//数组实例的 fill()
let a6 = new Array(10).fill(8);
console.log(a6);
let a7 = ["a","b","c"].fill(8,1,2);
console.log(a7);
/*注意,如果填充的类型为对象,那么被赋值的是同一个内存地址的对象,
而不是深拷贝对象。*/
let a8 = new Array(3).fill({name:"nake"});
console.log(a8);
a8[0].name = "luokun";
console.log(a8);
/*数组实例的 entries(),keys() 和 values() 
keys()是对键名的遍历、values()是对键值的遍历,entries()是对键值对的遍历*/
for(let key of ['a','b'].keys())
{
    console.log(key);
} 

for(let entrie of ['a','b'].entries())
{
    console.log(entrie);
}
let letter = ['a', 'b', 'c'];
let entries = letter.entries();
console.log(entries.next().value); // [0, 'a']
console.log(entries.next().value); // [1, 'b']
console.log(entries.next().value); // [2, 'c']
// /数组实例的 includes()
console.log([1, 2, 3].includes(2));
console.log([NaN].includes(NaN));