1.堆栈方法
pop、push 前者是从数组末尾取出,后者是从数组末尾加入
2.队列方法
push、shift 前者是从数组末尾加入,后者是从数组开头取出
3.排序方法
reverse、sort 前者是将数组项翻转,后者是排序(默认从小到大)
注:sort方法对于字符串的排序相当有效,但对于数字的排序并不乐观,比如:1,3,15.sort后的结果为1、15、3;因为默认他们为字符串(先调用toString方法后再进行的比较),可以在sort方法在中加入自定义的排序方法。
4.迭代方法
forEach、map、filter、every、some
每一项
方法 | |
every | 每一个数组项运行给定的函数,如果每一个返回true,那么返回true |
some | 每一个数组项运行给定的函数,存在一项返回true,那么返回true |
filter | 每一个数组项运行给定的函数,对返回为true的项组成新的数组 |
map | 每一个数组项运行给定的函数,返回每项执行完给定函数后得到的结果 |
forEach | 每一个数组项运行给定的函数,没有返回值 |
注:在调用回调函数后,在回调函数执行的过程中,对元素的修改,并不能影响回调函数的执行,例如:
几个注意点:var a = [{}, {}, NaN, NaN]一个存在空对象或NaN的数组,a[0] === a[0]是true,因为它们地址是相同的,而
a[0]并不等于a[1],因为尽管它们内容相同,但他们的地址却不一样;然后,用indexOf搜索{}固定返回-1;
对于数组中的NaN,a[2] !== a[2] 记住它们不等即可,然后indexOf搜索NaN也是-1