数组常用方法大汇总

119 阅读3分钟

1.map()方法: 根据某种规则映射数组,得到映射之后的新数组;

完整语法:
         let res = arr.map( (item,index)=>{
             console.log(item,index)
             return item*0.8
         } )

2.filter()方法:过滤数组,筛选数组元素,返回满足条件的新数组;

举例:
    let arr = [20,55,60,75,80,33]
    let res = arr.filter( item=>item % 2 == 0 )
        console.log(res)

3.reduce()返回函数累计处理的结果,经常用于求和等;

举例:
        let arr = [20,50,60,70]
            
        let res = arr.reduce( (sum,item,index)=>{
            console.log( sum,item,index)
            return sum + item
        } , 0 )
        console.log(res)

4.forEach()  遍历数组,相当于 for循环另一种写法,经常用于查找打印输出值;

举例:
        let arr = [20,55,60,75,80,33]
 
        arr.forEach( (item,index)=>{
            console.log(item,index)
        } )

5.every() 判断数组中是否所有元素都满足条件 (逻辑&&, 全部满足)

    return true  :  * 循环继续。满足条件,如果所有元素都满足,最终every默认返回值true

    return false :  * 循环结束。不满足条件,此时every返回值false     
举例:
        //判断数组中是否所有元素都是 偶数 
        let arr = [10,20,30,40,50]
 
         //标准写法
        let res = arr.every( (item,index)=>{
             if( item % 2 == 0 ){
                 return true
             }else{
                 return false
             }
         } )
 
        //简写语法
        let res = arr.every( item=>item % 2 == 0 )
        console.log( res )

6.findIndex() 找元素下标;

  应用场景 : (1)如果数组中是值类型,找元素下标用: arr.indexOf( 元素 )

           (2)如果数组中是引用类型,找元素下标: arr.findIndex( )

举例:
         //判断数组中是否所有元素都是 偶数 
 
        let arr = [ 
            { name:'张三',age:20}, 
            { name:'李四',age:30}, 
            { name:'王五',age:40}, 
        ]
 
        let index = arr.findIndex( item=>item.name == '李四' )
        console.log( index )

7.some()  判断 数组中是否有满足条件的元素  (逻辑或 ||, 有任意一个满足即可);

    * 经典应用场景:表单非空判断(判断表单数组中,有没有元素value为空)
举例:
        //判断数组中有没有奇数  
        let arr = [10,21,30,40,50]
 
        //标准写法
         let res = arr.some( (item,index)=>{
             if( item % 2 == 1 ){
                 return true
             }else{
                 return false
             }
         } )
        //简写语法
        let res = arr.some( item=>item % 2 == 1 )
        console.log( res )

8. join('分隔符') : 把数组每一个元素拼接成字符串;

    举例:
        let arr = [10,20,30]

        let str = arr.join('')
        console.log( str )

9.sort( function (a,b) {} ) : 数组排序;

    语法:
 
        let arr1 = [20,5,66,88,19,35]
        arr.sort( function(a,b){
            // return a-b//从小到大
            return b-a//从大到小
        } )
        console.log(arr)
  1. reverse() : 翻转数组;

  2. concat( 数组 ) : 连接数组;

  3. push(): 向数组的尾部添加一个或多个元素;

  4. unshift() :往数组前面添加一个或多个数组元素,长度要改变;

  5. pop (): 删除数组中最后一个元素,返回删除的那个值,并将长度减 1;

  6. shift() 删除数组中第一个元素,返回删除的那个值,并将长度减 1;

  7. splice() :删除元素或者添加元素,如:splice('从哪里','删几位','添加的元素');

  8. includes(): 用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false;

  9. toString(): 将数组转换成一个字符串;

  10. find():返回通过测试(函数内判断)的数组的第一个元素的值,对于空数组,函数是不会执行的,没有改变数组的原始值;

    let arr=[1,2,3,4,5,6,7,8,9,10]
    arr.find(item=>{
    // find() 方法为数组中的每个元素都调用一次函数执行:
    // 当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
    // 如果没有符合条件的元素返回 undefined
            return item>5
    })

    // 输出结果
    6