首页 > 试题广场 >

数组常用方法

常用的方法有22个,7个会改变原数组的方法,15个不会改变原数组的方法


一、改变原数组的方法:

方法名 作用 返回值 参数解释
1. push( item ) 尾增 返回新增元素后数组的长度
item也可以是arr,但是传入的如果是数组,并不会进行扁平化处理
2. pop() 尾删 被删除的项

3. shift()
头删
被删除的项

4. unshift( item )
头增
删除元素后数组的长度
item 也可以是 arr,但是传入的如果是数组,并不会进行扁平化处理
5. reverse()
反转
反转后的新数组

6. sort( fun( before, after ){} )
排序
排序后的新数组

参数为一个函数,该函数有两个形参,对应为 before 和 after,可以指定这个函数中书写排序的方式,返回值为负值时,升序,正值降序,也可以直接写 return a>b 或者 return a<b 前者对应降序,后者对应升序

7. splice( n,x,m )
增、删、改
对应操作后得到的新数组


  1. (n,x,m)从下标为 n 的元素开始,删除 x 个元素,在此位置将 m 插入
  2. (n,0,m)从下标为 n 开始,不删除元素,直接插入 m
  3. (n,x)从下标为 n 开始,删除 x 个元素



二、不改变原数组的方法:

方法名 作用 返回值 参数解释
1. join( '-' )
拼接
返回用指定分隔符拼接成的字符串
参数分别为''、' '拼接出来的结果不同
2. indexOf( item, star )
查找下标
从 star 下标开始,查找第一次出现 item 元素的索引;未找到返回-1

3. lastIndexOf( item, star )
查找下标 最后一次出现的索引未找到返回-1

4. every( fun(x){} )
判断数组所有元素是否都满足要求
数组所有元素都满足函数时返回 true,否则返回 false
函数参数的返回值即为设定的要求
5. some( fun(x){} )
判断数组是否存满足要求的元素
存在满足要求的元素就返回 true,不存在返回 false 函数参数的返回值即为设定的要求
6. toString()
拼接 相当于join(',')
[1234] → 1234

7. toLocalString()
拼接 [1234] → 1,234
8. concat( arr1, arr2, str3... ) 
拼接
拼接后的新数组

9. slice( a, b )
查找
查找出的值组成的数组


  1. (n,m) 查找下标:[n,m)
  2. (n) 查找下标:n到最后一个元素
  3. (0) 复制一遍原数组,可用于克隆
  4. (-m,-n)从后往前查,-1表示最后一项,-2表示表示倒数第二项


10. forEach( function(item, index, arr){} )
遍历
对数组的每一项运行给定函数
11. map( function(item){} )
遍历 返回数组每个元素运行给定函数后,组成的新数组
12. filter( function(item, index){} )
遍历 + 过滤 返回数组中满足函数返回值的元素
13. reduce( function(pre, cur,  item, index){} )
遍历 + 计算 将上一项和当前项进行计算,将每一次的计算结果保存进数组中
14. reduceRight( function(pre, cur,  item, index){} )
遍历 + 计算
同上,但顺序是从后向前
15. includes( item )
是否包含指定元素
包含就返回true,否则返回false
编辑于 2022-02-13 12:32:11 回复(1)
数组中的some、every、filter、reduce
1、some
遍历数组,判断数组中是否有满足的条件的,如果有直接跳出返回true,否则返回false。

2、every
遍历数组,并且判断每个元素是否满足条件,如果不满足直接跳出返回false,否则返回true。

3、filter
filter会将满足条件的元素放在一个新数组中,并返回这个新数组。

4、reduce
reduce方法中有三个参数,第一个为回调的函数,第二个值为value的初始值。

reduce方法最后会返回一个value,这个值可以是很多东西比如对象,数字,数组。

若value没有初始值,则它就是数组的第0个元素,而后面的item则会从下标为1开始遍历,第二次遍历运行时,value将会是上次函数运行的返回值。

当数组的每个元素遍历完成后将最后一次的返回值返回到外面的变量。

编辑于 2022-01-19 09:09:43 回复(0)

pop(),shift(),unshift(),push(),map(),forEach(),isArray(),concat():将多个数组拼接成一个数组,join(),sort():排序,spilce (),

编辑于 2020-06-06 13:12:28 回复(0)

push,pop,shift,unshift,splice,slice,sort,reverse,join,map,forEach,filter,some,every,reduce,concat,toString

发表于 2019-12-03 19:32:57 回复(0)