将多维数组降成一维数组并去重的方法

一、降维的2种方法

1. 使用join和split方法
const arr1=[1,2,4,[2,5,3,6,[7,6]],8,9]
const arr2=arr1.join(',').split(',').map(a=>parseInt(a))
2. 使用Array.property.flat()
const arr1=[1,2,4,[2,5,3,6,[7,6]],8,9]
// 不确定原始数组有多少维,所以flat传参:Infinity
const arr2=arr1.flat(Infinity)

如果原数组有空位,flat()方法会跳过空位。

有浏览器兼容性问题。

扩展:flatMap()方法对原数组的每个成员执行一个函数,相当于执行Array.prototype.map(),然后对返回值组成的数组执行flat()方法。该方法返回一个新数组,不改变原数组。

二、去重

1. 使用Set
const arr3=[...new Set(arr2)]
有浏览器兼容性问题。
2. 使用循环
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容