js 数组常用方法

只有sort()方法改变了原数组,其他方法都没有改变原数组

1、forEach:接收一个函数做为参数,对数组的每个元素执行一次接收的函数
还接收一个可选参数,表示回调函数的this的值
forEach接收的做为参数的函数,接收三个参数,一次代表调用forEach函数的数组的值,下标,数组本身

var arr = [1,2,3,4]
arr.forEach(function(value,key,arr){
  console.log(value,key,arr)
})

for只能遍历数组的下标为数字的项,forEach可以遍历所有的项,forEach没有返回值

2、sort:排序方法

var arr = [1,2,3,4]
arr.sort()//不传参数,默认从小到大排序
arr.sort(function(x,y){ return x-y})

3、join:连接数组的每个元素

var arr = [1,2,3,4]
arr.join()//不传参数默认使用,连接,等同于 arr+'' ,其实是arr调用了toString()

4、concat: 连接数组

var arr = [1,2,3,4]
var b = ['a','b','c']
arr.concat(b)

5、map:与forEach类似,但是不同的是map会返回一个新数组,forEach没有返回值

6、filter:过滤数组,保留结果为true的元素组成一个新的数组返回

var arr = [1,2,3,4]
arr.filter(function(x){
  return x % 2 === 0
})

7、reduce:对数组中的每个数应用一个函数,可以实现map和filter

var arr = [1,2,3,4]
arr.reduce(function(sum,value){
  return sum + value
},0)//0为sum的初始值,之后每一次sum+value的值会赋给sum

reduce实现map

var arr = [1,2,3,4]
arr.reduce(function(array,value){
  array.push(value * 2)
  return array
},[])

reduce实现filter

var arr = [1,2,3,4]
arr.reduce(function(array,value){
  if(value % 2 === 0){
    array.push(value)
  }
  return array
},[])
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容