1.判断是否为数组API instanceof Array //bool
2.1将类数组转化为数组 //ES5方法
let arr=Array.prototype.slice.call(divs3) //divs3为类数组
console.log(arr) //得到数组
2.2将类数组转化为数组 //ES6方法
let arr=Array.from(divs3)
console.log(arr)
3.Array.of 用法
3.1直接将参数保存为数组的内容
let arr=Array.of(3)
3.2完成复杂数组
let arr=Arr .of(1,‘sss’,[1,2,3],{x:1,y:2}) //得到复杂数组
4.替换 arr.copyWithin() 应用场景:希望用数组中的一些值替换另一些值时
ex:
let arr=[1,2,3,4,5]
console.log(arr.copyWithin(1,3)) //[1,4,5,4,5]
第一个参数指开始替换的下标
第二个参数指替换内容开始下标
第三个参数指替换内容到结束下标,不写则表示替换内容至结尾
ex:例子中,将下标为1的内容替换为下标为3至结尾的内容;下标为3的值是4,至结尾内容为4,5,所以就是将4,5从原来内容为2的位置开始替换,因为有两个值,所以是将2,3替换为4,5
改变的是原数组
5.填充替换 arr.fill()
5.1填充
let arr=Array(3).fill(7) //[7,7,7]
得到指定长度和内容的数组
指定内容可以使数组,对象,字符串等,但是所有元素填充内容一致。(自己试验所得)
5.2替换
let arr=[1,2,3,4,5]
console.log(arr.fill(‘sss’,1,3)) //[1,‘sss’,‘sss’,4,5]
第一个参数:替换的内容
第二个参数:开始替换下标
第三个参数:结束替换下标(不包含)
如果只有一个参数,则将原数组所有元素替换为第一个参数内容
6.检测数组是否包含特定值
6.1 indexOf //ES5
let arr=[1,2,3,NAN]
console.log(arr.indexOf(NAN)) //-1
6.2 includes //ES6
console.log(arr.includes(NAN)) //true
7.扩展运算符(以拼接数组举例)
7.1 ES5
let arr1=[1,2,3]
let arr2=[4,5,6]
Array.prototype.push.apply(arr1,arr2)
console.log(arr1)
7.2 ES5
console.log(arr1.concat(arr2))
得到新数组
7.3 ES6
arr1.push(...arr2)
console.log(arr1)
- …的用法
…写在等号左边或形参中,是剩余参数;…写在等号右边或实参中,是扩展运算符。