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

一、降维的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. 使用循环

你可能感兴趣的:(将多维数组降成一维数组并去重的方法)