javaScript高级程序设计-数组

毕业快一年了,一直没有全部看完任何一本javascript的书籍,在js方面,对一些概念的理解一直非常模糊,在平时的开发中还需要一遍一遍地查阅文档,这次打算好好过一下js方面的基础。这一次主要是梳理数组方面的主要操作方法。

栈,队列方法

1
2
3
4
5
6
7
8
9
10
11
push()
// 向数组末位追加元素,返回值是新数组的长度

pop()
// 移除数组中的最后一项,返回值是最后一项的值

shift()
// 移除数组中的第一项,并返回该项的值

unshift()
// 在数组的最前面追加元素,返回值是新数组的长度

重排序方法

1
2
3
4
5
6
7
8
reverse()
// 反转数组的顺序

sort()
// 按升序排列数组项,会调用每一个数组项的toString()方法,可接受一个比较函数作为参数,比较函数接受两个参数。
function compare(v1,v2){
return v2-v1;
}

操作方法

1
2
3
4
5
6
7
8
9
10
concat([])
// 基于当前数组创建一个新数组,将方法中的参数的每一项添加到数组中,参数一般是一个数组对象,不改变原数组。

slice(start,end)
// 返回数组中起始到结束为止的所有项,不包括结束位置的项,不影响原数组;如果只有一个参数,则返回起始到数组最后的所有项。

splice()
// 删除:(要删除的第一项,删除的项数)
// 插入:(起始位置,0,要插入的项)
// 替换:(起始位置,要删除的项数,要替换的项)

位置方法

1
2
indexOf()
// 接收参数:要查找的项;可以判断元素是否是数组中的某一项;如存在返回在数组中存在的位置,不存在返回-1.

迭代方法

1
2
3
4
5
6
function(item,index,array)  //数组的每一项 位置 该数组
every() 对数组中的每一项运行给定的函数,如果每一项都返回true,则返回true。
filter() 对数组中的每一项运行给定的函数,返回true的项组成的数组。
forEach() 对数组的每一项运行给定的函数,没有返回值。
map() 返回每次函数调用的结果组成的数组。
some() 如果任意一项返回true,则返回true。