(1)判断是否是一个数组
Array.isArray(arr) //返回的是一个Boolean值
(2)实例方法
1、valueOf()
这个方法是一个所有对象都拥有的方法,表示对该对象求职。数组的valueOf方法就是返回数组的本身。
2、toString()
var arr1 = [ ], arr2 = [1], arr3 = [1,2]
arr1.toString() // '' 返回一个空的字符串
arr2.toString() // '1' 返回一个字符串1
arr3.toString() // '1,2' 返回一个以逗号隔开的字符串
(3) join()方法
[undefined,null].join('-') // “-” [1,,2].join(‘-’) // 1-- 2
【注】:返回的就是一个 "-" 的字符串,如果数组成员是undefined或null或空位,会被转成空字符串。
(4)map()方法
如果数组有空位,map方法的回调函数在这个位置不会执行,会跳过数组的空位。(5)forEach()方法
forEach()没有返回值,只是对数组进行操作,如果数组遍历的目的是为了得到返回值,那么使用map方法,否则使用forEach方法。
【注】:forEach方法无法中断执行,总是会将所有成员遍历完。如果希望符合某种条件时,就中断遍历,要使用for循环。方法也会跳过数组的空位。
只会打印三个,空的字符串不会进行操作
【注】:在使用第二个参数时,里面的函数只能为普通的函数,不能为箭头函数,如果使用箭头函数,第二个参数改变this的指向就会没有用,this会指向window
(6)some(),every()方法
some():一个成员符合条件,返回true
every(): 每个成员都符合条件,返回true
(7)indexOf(),lastIndexOf()方法
indexOf: 元素第一次出现的位置返回索引,没有返回-1
[1,2,3,4,6].indexOf(6) // 5
接收第二个参数,表示开始搜索的位置
[1,2,3,4,6].indexOf(6,5) //-1
lastIndexOf:元素最后一次出现的索引的位置,没有返回-1
[1,1,1,1,1].lastIndexOf(1) //4
【注】:这两个方法不能用来搜索NaN的位置,即它们无法确定数组成员是否包含NaN。
[NaN].indexOf(NaN) //-1
这两个方法内部都是用了,严格相等运算符(===)比较,NaN 不等于 NaN