关于 Array 的属性、方法这里不再做介绍,详看 MDN Array 。
面试题:
已知如下数组:var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];
编写一个程序将数组扁平化去并除其中重复部分数据,最终得到一个升序且不重复的数组
答案:
// 扁平化constflattenDeep=(array)=>array.flat(Infinity)// 去重constunique=(array)=>Array.from(newSet(array))// 排序constsort=(array)=>array.sort((a,b)=>a-b)// 函数组合constcompose=(...fns)=>(initValue)=>fns.reduceRight((y,fn)=>fn(y),initValue)// 组合后函数constflatten_unique_sort=compose(sort,unique,flattenDeep)// 测试vararr=[[1,2,2],[3,4,5,5],[6,7,8,9,[11,12,[12,13,[14]]]],10]console.log(flatten_unique_sort(arr))// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
可结合 携程&蘑菇街&bilibili:手写数组去重、扁平化函数 查看
关于
Array的属性、方法这里不再做介绍,详看 MDN Array 。面试题:
答案:
可结合 携程&蘑菇街&bilibili:手写数组去重、扁平化函数 查看