扁平化数组以及数组去重
编写一个程序,将数组扁平化,并去除其中重复部分,最终得到一个升序且不重复的数组: 就它啦: let arr = [3, 12, 1, 2, [3, 4, 4, [5, 4,6, [8,9,7, 8, [9, 10, 11]]]]]; 第一种方法 ,直接调用arr的 flat 方法 arr = arr.flat(Infinity); 有个小点儿要说明。arr.flat()默认只展开一级,默认括号内为 1那么上面的arr展开为 flat(2)为 为了一步到位,直接flat(Infinity);还有一件事,如果数组内有空的选项,则会被删除 let arr1 = [1, 1, , 2] arr1 = arr1.flat(Infinity); console.log(arr1) 打印出只有[1, 1, 2] 然后如何数组去重呢 : new Set(arr) 返回的是一个对象 , 伪数组 如何将变成数组呢? 两种方法: 1.展开运算符 [...new Set(arr)] 使其变成数组 2.Array.from() 可将一个 伪数组对象或者可遍历对象转换成一个真正的数组 即 Array.from(new Set(arr)) Array.from有三个参数,Array.from(arrayLike[, mapFn[, thisArg]])