数组的栈方法
栈是一种后进先出的数据结构,最新添加的项被最早移除
push() 向数组后面插入元素
pop() 删除数组最后一项
数组的队列方法
队列是先进先出,在列表的末尾添加项,从列表的前端移除项
shift() 删除数组第一项
unshift() 向数组前面插入元素
数组的排序方法(返回重排序之后的数组)
reverse() 翻转数组
sort() 数组排序 接收比较函数,也可以得到降序排列
数组的迭代方法(遍历)
每个方法都接收两个参数:要在每一项上运行的函数和(可选的)运行该函数的作用域对象 - 影响this值。
传入这些方法中的函数会接收三个参数,数组项的值,该项在数组中的位置,数组对象本身。
every()
filter()
forEach()
map()
some()
数组的操作方法(不会改变原数组,而是返回新数组)
concat()
slice()
splice() 删除,插入,替换数组
数组的位置方法
indexOf() 从前向后查找
lastindexOf() 从后向前查找
数组的归并方法
reduce() 从数组第一项开始,遍历到最后
reduceRight() 从数组最后一项开始,便利到最后
数组的其他方法
jion() 将数组转换为字符串
具体方法用处:
push() 向数组后面追加元素
特点:会改变原数组,带回的返回值是数组的新长度
unshift() 向数组前面插入元素
特点:会改变原数组,带回的返回值是数组的新长度,IE6、7不支持
pop() 删除数组的最后一项
特点:会改变原数组,写一个删除数组的最后一项,写两个删除数组的最后两项,返回值为被删除的元素
shift() 删除数组的第一项
特点:会改变原数组,写一个删除第一项,写两个删除前两项,返回值为被删除的元素
扩展应用
unshift(pop()) // 将删除的最后一项插入到数组的最前面,写几次插入几次。
push(shift()) // 将删除的第一项插入到数组的最后面,写几次插入几次。
jion() 连接符
通过这个连接符把数组转换为 字符串,返回值为string类型。
reverse() 翻转数组
用于颠倒数组中元素的排序,返回值是一个数组。
sort() 数组排序
默认从小到大进行排序,默认是以字符串的编码进行排序,而不是以数字大小。它会改变原数组。
需要注意的是它可以接收一个比较函数作为参数。
如果需要它按照数值大小从小到大升序排列,格式为:
arr.sort(function(a,b){return a-b})
从大到小降序排列为:
arr.sort(function(a,b){return b-a})
排序原理是从大到小排序,拿到数组中的两个值,如果前一个值大于后一个值,不交换位置,如果前一个值小于后一个值,就交换位置。
some() 测试数组
测试数组中的某些元素是否通过由提供的函数实现的测试,返回布尔值。
find()
返回数组中满则测试条件的第一个值,如果没有符合条件的,就返回undefined。
every()
测试数组所有元素是否通过了指定函数的测试,,返回值为布尔值。
filter()
创建一个新数组,包含通过提供函数测试的所有元素。
map()
创建一个新数组,结果是数组中的每个元素都调用一个提供的函数后返回的结果。
findIndex()
返回数组中满足提供的测试函数的第一个值的下标,如果没有符合的值,就返回-1。
concat()
将数组和后面参数里的数组拼接起来,返回一个新数组。
格式:arr.concat(arr1,arr2,arr3)
slice()
从已有数组中返回选定的元素。
arrayObject.slice(start,end)
start : 必传参数,规定从何处开始选取,如果是负数,从数组尾部开始算起。
end:可传可不传,规定从何处结束选取,是数组片段结束时的数组下标。
indexOf()
从数组的开头向后查找。
indexOf(searchValue ,startIndex)
searchValue:必传,要查找的项
startIndex:可选,起点位置的索引
返回值为查找的项在数组中的位置,类型为umber,没有找到的话就返回-1。
lastIndexOf()
lastIndexOf(searchValue ,startIndex)
从数组的末尾开始向前查找。
searchValue:必传,要查找的项。
startIndex:可选,起点位置的索引
返回值是要查找的项在数组中的位置,类型为number,没有找到就返回-1。
网友评论