常用的十五个数组api

1. concat()连接两个或者更多的数组,并且返回结果

const a =  ["a","b","c"]
const b =  [1,2,3,4]
const c = a.concat(b)
console.log(c) // ['a','b','c',1,2,3,4]

2.every() 判断数组是否所有的元素都满足条件 ( 逻辑与&& )。

语法特点 :

2.1 循环执行次数 != 数组长度

2.2 回调函数内部return作用

(1)return true : 循环继续。 当前元素满足条件,继续判断. 如果循环执行完毕还是true,则every返回值就是true

(2)return false : 循环结束。当前元素不满足条件。 every的返回值也是false

2.3 every本身返回值作用

return true : 全部元素都满足条件

return false : 有元素不满足

 function judge(element,index,array){
      return(element>=10)
    }
    const passed = [12,5,8,134,55].every(judge)
    console.log(passed)  //false

3. filter()筛选数组,应用场景: 筛选数组,将符合条件的元素放入新数组中 

  filter方法特点

 (1) 回调函数执行次数 == 数组长度

 (2) 回调函数内部的return

 * return true : 符合筛选条件,放入新数组中

 * return false : 不符合筛选条件,不放入新数组中

(3) filter方法的返回值

* 返回筛选之后的新数组

   function arr(element,index){
     return (element >=10)
   }
   const array = [12,34,56,7,44,77,11,10,9]
   const newarray = array.filter(arr)
   console.log(newarray) //[12, 34, 56, 44, 77, 11, 10]

4. forEach()数组forEach方法作用: 遍历数组,应用场景和for(let i=0;i<arr.length;i++){} 功能一致

forEach方法特点

(1) 回调函数执行次数 == 数组长度

(2) 回调函数内部的return

* 没有返回值

(3) forEach方法的返回值

* 没有返回值

  let num = [7,8,9]
  num.forEach((value)=>{
  console.log(value) // 7 8 9 
  })

 5. indexOf()搜索数组中的元素,并返回它的所在位置。如果找不到,返回-1 代表没有此项

 const index = [14,23,45,56,78,2]
 const arr = index.indexOf(9)
  console.log(arr) // -1

6. join()方法用于把数组中的所有元素转换一个字符串 

 const arr = ['千玺','喜欢','梦迪迪']
  const newarray = arr.join('')
  console.log(newarray) //千玺喜欢梦迪迪

7. map ()方法遍历数组 也可以处理数据并且返回一个新的数组

 const arr = ['千玺','王源','王俊凯']
  arr.map((item,index)=>{
  console.log(item) // 得到数组元素 千玺 王源 王俊凯
  console.log(index) // 得到下标 0 1 2 
  })
 
  const newarr = arr.map((item,index)=>{
  return item + '喜欢梦迪迪'
  })
  console.log(newarr) //['千玺喜欢梦迪迪', '王源喜欢梦迪迪', '王俊凯喜欢梦迪迪']





       let arr = [ 88,90,100,20,50 ]
        //完整写法
        /* let res =  arr.map( (item,index) => {
           return item*0.8
       } ) */
       
       //箭头函数如果形参只有一个可以省略小括号, 如果函数体只有一行可以省略大括号(必须省略return)
       let res =  arr.map( item=>item*0.8 )
       console.log( res )

 8. pop()删除数组中最后一个元素

const arr = [1,2,3,4,5,6]
  arr.pop()
  console.log(arr)  // [1,2,3,4,5]

9. splice()删除指定的元素  也可以加元素

语法:arr.splice(起始位置,删除几个元素)

  const arr = [10,20,30,45,67]
  // 删除 
  arr.splice(1,1)
  console.log(arr)  // [10, 30, 45, 67]
  // 添加并且替换
  arr.splice(1,2,'千玺','王源')
  console.log(arr) //[10, '千玺', '王源', 67]

10. push()方法将一个或者多个元素添加到数组的末尾,并且返回该数组的新长度

const arr = ['千玺','王源','王俊凯',].push('梦迪迪')
  console.log(arr) // 4 

11. reverse()翻转数组的元素

 const  arr = [1,2,3,4,5,6]
  const newarr = arr.reverse()
  console.log(newarr) //[6, 5, 4, 3, 2, 1]

12. sort()对数组元素进行排序 a-b是从小到大 b-a是从大到小

const arr = [3,4,6,2,9,1]
let newarr = arr.sort((a,b)=>{
  return a-b // 从小到大
})
console.log(newarr) //[1, 2, 3, 4, 6, 9] 
 
let newarray = arr.sort((a,b)=>{
return b-a // 从大到小
})
 console.log(newarray) // [9, 6, 4, 3, 2, 1]

13. reduce()为每一个元素执行一次回调,并最终返回最后一次结果

经典应用: 求数组累加和 求和

/* 第一个参数:回调    (sum,value,index)=>{}
        sum : 累加和变量
        value:当前元素
        index: 当前下标
        return : 下一次回调sum的值
    第二个参数: sum初始值
        * 如果不传,sum默认是第一个元素值
        * 一般要传0, 如果不传空数组的话reduce直接报错 */
    let arr = [12, 34, 56, 77, 97]
    let res = arr.reduce((sum, value) => {
      return sum + value
    }, 0)
    console.log(res) //276

14. findIndex()找元素下标

return true : 找到了,循环结束。 此时findIn是当前元素下标

return false : 没找到,循环继续。 如果执行完毕还找不到,最终返回固定值-1

findIndex本身返回值作用:return -1 : 没有,return 下标 : 有

   const arr = [
      {name:'千玺',age:22,},
      {name:'王源',age:21,},
      {name:'王俊凯',age:23,}
    ]
   let res = arr.findIndex((item)=>{
    return item.name=='王源'
    })
   console.log(res) // 1

15. Set()数组去重

(1)数据类型 Set : 集合

* Set相当于是数组类型, 和数组Array唯一的区别是不能存储重复元素

(2)场景 : 数组去重

let newArr = [ ...new Set(需要去重的数组) ]

   const arr = [20,30,40,20,30,50,60]
        console.log(arr) //[20, 30, 40, 20, 30, 50, 60]
        //  创建Set 去除数组重复元素
        const set = new Set(arr)
        console.log(set) // {20, 30, 40, 50, 60}
        //  把set变成真数组
        const newArr = [...set]
        
      //经典面试题: 一行代码实现数组去重
      const newArr1 = [...new Set(arr)]
      console.log(newArr1) // [20, 30, 40, 50, 60]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值