美文网首页
js 数组常用方法

js 数组常用方法

作者: allen_tian | 来源:发表于2018-05-10 01:23 被阅读0次

    只有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
    },[])
    

    相关文章

      网友评论

          本文标题:js 数组常用方法

          本文链接:https://www.haomeiwen.com/subject/pauarftx.html