前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JS 数组扁平化之简单方法实现

JS 数组扁平化之简单方法实现

原创
作者头像
发声的沉默者
修改2021-06-16 10:04:43
6080
修改2021-06-16 10:04:43
举报
文章被收录于专栏:江歌闲谈江歌闲谈

什么是扁平化

一句话解释,数组扁平化是指将一个多维数组(含嵌套)变为一维数组

扁平化之 ES5

toString

代码语言:txt
复制
const arr = [1, 2, 3, [4, 5, [6, 7]]];

const flatten = arr.toString().split(',');

console.log(flatten);

优点:简单,方便,对原数据没有影响

缺点:最好数组元素全是数字或字符,不会跳过空位

join

代码语言:txt
复制
const arr = [1, 2, 3, [4, 5, [6, 7]]];

const flatten = arr.join(',').split(',');

console.log(flatten);

优点和缺点同 toString

扁平化之 ES6

flat

代码语言:txt
复制
const arr = [1, 2, 3, [4, 5, [6, 7]]];

const flatten = arr.flat(Infinity);

console.log(flatten);

优点:会跳过空位,返回新数组,不会修改原数组。

缺点:无

扩展运算符(...)

代码语言:txt
复制
const arr = [1, 2, 3, [4, 5]];

console.log([].concat(...arr));

优点:简单,方便

缺点:只能扁平化一层

总结

推荐使用 ES6flat 方法

博客

欢迎关注我的博客

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是扁平化
  • 扁平化之 ES5
    • toString
      • join
      • 扁平化之 ES6
        • flat
          • 扩展运算符(...)
          • 总结
          • 博客
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档