前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数组常用方法含ES6新增

数组常用方法含ES6新增

原创
作者头像
一只眠羊
修改2021-07-30 17:54:17
5790
修改2021-07-30 17:54:17
举报
文章被收录于专栏:前端开发ing前端开发ing

会改变原数组

  • push 往数组最后面追加元素,返回最新数组的长度
  • pop 删除数组最后一项, 返回最新数组的长度
  • unshift 往数组头部添加元素,返回数组最新长度
  • shift 删除数组头部元素,返回删除的数组元素的值
  • reverse 将数组倒序,返回的是改变后的数组
  • sort 对数组元素进行排序,原数组会改变
  • splice(index,howmany,item1...indexX) 方法向/从数组中添加/删除项目,然后返回被删除的项目数组形式,index从1开始。
  • fill(value,start,end) 将一个固定值替换数组的元素或者填充数组,start包含,end不包含-1。返回修改后的数组。es6新增
    • const arr = [1,2,3] const fillArr = arr.fill(7) => [7,7,7] ​ arr => [7,7,7]

不改变原数组

  • 得到的是新数组
    • concat 合并两个或多个数组,生成一个新的数组
    • slice(star,end) 返回一个新的数组,包含从 start 到 end (不包括该元素)的 数组 中的元素
    • map 遍历数组每一项,返回改变后的值组成的新数组es6新增
    • Array.of() 返回参数值组成的数组,如果没有参数就返回一个空数组。 es6新增
    • filter 查找满足条件的项, 把所有符合条件的都在一个新数组里返回,没找到满足条件的则返回空数组es6新增
    • Flat(number/Infinity) 将多位数组转为一维数组,默认只展开一层,number是几就会展开几层,Infinity不管几层都全部展开返回一维数组。es6新增
    • flatMap对原数组的每个成员执行一个函数(相当于Array.prototype.map()),然后对返回值组成的数组执行flat()方法,flatMap只能展开一层数组es6新增
      • let arr = [1,2,[3]] arr.flatMap(item=>item*2) => [2,4,6]
    • from将类数组转为数组 与 new Set联用可以去重。es6新增
      • const arr = [1,2,3,3,4,3,3,2] const b = Array.from(new Set(arr))
  • 得到新的返回值
    • find 查找满足条件的项,遇到第一个就返回之后的不会进行遍历,没找到满足条件的,返回undefined,如果有满足条件的,返回的是满足条件的这一项 arr.find(item=>item>2) es6新增
    • findIndex 返回符合条件的数组第一个元素位置,没有符合条件的返回-1 es6新增
    • includes 判断一个数组是否包含一个指定的值,有返回true,否则false es6新增
    • Some 如果有满足条件的,返回true,否则返回false。es6新增
    • every所有都满足条件才返回true,否则返回falsees6新增
    • join将数组的每一项用指定字符链接形成一个字符串并作为返回值,默认连接符号是“,”
    • toString() 把数组转换为字符串,并返回转换后的字符串作为结果
    • valueOf 返回的是数组实例对象
    • forEach 调用数组的每个元素,并将元素传递给回调函数。返回undefined

新知识点

  • Array(n).fill(true) 创建长度为n,所有值为true的数组
    • fill(value, start, end) ​ value:填充值。 ​ start:填充起始位置,可以省略。 ​ end:填充结束位置,可以省略,实际结束位置是end-1。不包含
  • valueOf
  • map 和 forEach 区别? map(function(currentValue, index, arr){}) forEach(function(currentValue, index, arr){}) currentValue 必需当前元素 index 当前元素索引 arr 原数组
    • map 不会进行空值检测,forEach会。遍历的时候forEach会跳过空值,map不会。
    • 不加return,map会返回一个与原数组长度相等的新数组[undefined, undefined, undefined, undefined]

    forEach 加不加return 都返回undefined var arr = [1,2,6,4,3,0] var arr1 = arr.map(function(item){ if(item>4){ return item; } }) arr1 : [undefined, undefined, 6, undefined, undefined, undefined]

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 会改变原数组
  • 不改变原数组
  • 新知识点
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档