记录JS常用数组操作方法

1.map()方法

  • 对数组中的每一个元素调用一种方法,不会改变原数组
  • exp:
   var arr = [ '10','20','30','40','50' ]
   var num1 = arr.map( ( el,index )=>{
       el = el*2
       // arr还是[ '10','20','30','40','50' ]
   } )

2.forEach()

  • 对数组中每一项元素调用一种方法,会改变原数组
  • exp:
   var arr = [ '10','20','30','40','50' ]
   var num1 = arr.forEach( ( el,index )=>{
       el = el*2
       // 此时arr变为[ '20','40','60','80','100' ]
   } )

3.filter()

  • 匹配数组中每一项,将满足条件的那一项作为新数组返回,不会改变原数组
    var arr = [10,20,30,40,50]
    var num1 = arr.filter( ( item,index )=>{
        return item > 30
    } )
    // 此时num1为[40,50]

4.every()

  • 对数组中所有元素进行判断返回一个布尔值,如果所有元素都满足则返回true,否则返回false
    var arr = [10,20,30,40,50]
    var num1 = arr.every( ( item,index )=>{
        return item > 30
    } )
    // 此时num1为false,因为不是所有有数字都比30小

5.some()

  • 对数组中元素进行判断,如果数组中有一个元素满足条件则返回true否则返回false
    var arr = [10,20,30,40,50]
    var num1 = arr.some( ( item,index )=>{
        return item > 40
    } )
    // 此时num1为true因为里面有元素比40大

6.reduce()

*对数组中所有元素调用函数,返回值是最后的结果

    var arr = [10,20,30,40,50]
    var num1 = arr.reduce( ( item,index )=>{
        return item + index
    } )
    //  此时num1为150,因为是将该数组中每一项进行叠加处理

7.push()

  • 在数组的最后一项后面再添加一项数组,
  • 会改变原数组
  • 返回值是新数组的长度
    var arr = [10,20,30,40,50]
    var num1 = arr.push( 60 )
    // num1 = 6,

8.pop()

  • 删除数组的最后一项
  • 会改变原数组
  • 返回值是被删除的那一项
    var arr = [10,20,30,40,50]
    var num1 = arr.pop()
    // num1 = 50 返回值是删除的那项

9.shift()

  • 删除数组的第一项
  • 会改变原数组
  • 返回值是被删除的那一项
    var arr = [10,20,30,40,50]
    var num1 = arr.shift()
    // num1 = 10 返回值是删除的那项

10.unshift()

  • 在数组的第一项前面再加一项或多项数组
  • 会改变原数组
  • 返回值是新数组的长度
    var arr = [10,20,30,40,50]
    var num1 = arr.unshift( 60 )
    // num1 = 6

11.isArray()

  • 判断一个对象是不是数组
  • 返回值是 布尔值
    var arr = [10,20,30,40,50]
    var num1 = Array.isArray( arr )
    // num1 = true 

12.concat()

  • 将两个数组进行拼接
  • 不会改变原数组
  • 返回值是新数组
    var arr = [10,20,30,40,50]
    var str = [70,80]
    var num1 = arr.concat( str )
    // 此时num1 = [10,20,30,40,50,70,80]
    // es6数组简单拼接方法:
    [...arr,...str]

13.toString()

  • 将数组转化为字符串,可以实现拼接
  • 不会改变原数组
  • 返回值是 数组转化成的字符串
    var arr = [10,20,30,40,50]
    var num1 = arr.toString(  )

14.join()

  • 将数组转化为字符串,单纯的转化
  • 不会改变原数组
  • 返回值是 数组转化成的字符串
    var arr = [10,20,30,40,50]
    var num1 = arr.join(  )

15.splice()

  • 实现数组的增删改
  • 会修改原数组
  • 返回值是被修改的那一项
    var arr = [10,20,30,40,50]
    var num1 = arr.splice( 0,1,60 )
    // 此时num1 = 【10】,arr = [60,20,30,40,50]

16 Array.from(arrayLike,mapFn,thisArg)

  • 从一个类数组或可迭代对象中创建新的数组实例
  • arrayLike:想转换成数组的伪数组对象或可迭代对象
  • mapFn(可选参数)新数组中每个元素都会执行的回调函数
  • thisArg(可选参数)执行回调函数mapFn时this对象
  • 返回值是一个新数组实例
    Array.from(arrayLike, mapFn, thisArg)
发布了2 篇原创文章 · 获赞 11 · 访问量 204

猜你喜欢

转载自blog.csdn.net/qq_42698109/article/details/104680276