条条大道通罗马,废话不多说,先上一个简洁版的大路:

/**
* 元素为非数组则直接对数组去重
* 元素为数组则对元素去重
* @param {array} arr
* @return {array}
*/
function uniqueArr(arr) {
for (let i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
arr[i] = uniqueArr(arr[i]);
}
}
return Array.from(new Set(arr));
}

Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组。

Set是es6新增的数据结构,似于数组,但它的一大特性就是所有元素都是唯一的,没有重复的值,我们一般称为集合。

以上就是js数组去重(js多维数组)的全部内容。

微信交流(备注:前端)