摘要:起因在掘金上看到道前端面试题,其中有一道题是这样的有数组,将它变为,即扁平化数组并排序解答答案点赞排名第一的大佬的解答如下解析首先,不做赘述,参见语法数组转换其次,,数据结构,因为其内值唯一的特性,可以完成数组去重再者,是,内描述很详细,
起因
在掘金上看到100道前端面试题,其中有一道题是这样的解答
有数组[11, 1, 3, 5 [4, 5], 2, [2, [44, 22, 1, [22, 13, 6]]]],将它变为[1,2,3...],即扁平化数组并排序
答案点赞排名第一的大佬的解答如下:
Array.from(new Set(arr.flat(Infinity))).sort((a, b) => {return a - b;});解析
首先,Array.from不做赘述,参见ES6语法数组转换总结
其次,new Set(),set数据结构,因为其内值唯一的特性,可以完成数组去重
再者,是Array.prototype.flat,mdn内描述很详细,只是我没有用过QAQ,其中还有用reduce结合concat实现flat的例子,这里也不多说了
最后,还有一个坑,是排序,这个我就忘了,因为默认的sort是先将数组转换字符串再比较的,这样的数组排序则是按照code码排序了,例如[101, 1, 2].sort() = [1, 101, 2]
深入了解api的运作机制,灵活运用,不能总想自己造轮子和写算法,能“懒”则“懒”~
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/105519.html
摘要:每次被执行时,和被传入,这个根据进行累加或者是自身消减,英文原意,进而返回最新的。 之前的一篇文章:从一道面试题,到我可能看了假源码讨论了bind方法的各种进阶Pollyfill,今天再分享一个有意思的题目。 从解这道题目出发,我会谈到数组的Reduce方法,ES6特性和Redux数据流框架中Reducer的命名等等。一道典型的题目,却如唐代诗人章碣《对月》诗中所云:别有洞天三十六,水...
摘要:未点击的按钮顶部的亮度略高于底部。我认为扁平化是未来的一种趋势。这种限制是有好处的,这有助于简化思想。同样可以采取更深的一步。顶部的导航条有更多的空间。文字搜索音乐占了整个导航条高度的。 showImg(https://segmentfault.com/img/bVbn06c?w=1000&h=451); 想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你! 简介 首先...
摘要:将这个问题进行转化将维数组降到维思路构造一个目标数组,初始为空。如果当前项是数组,对当前数组元素进行降维。这是一个典型的递归过程。 将这个问题进行转化 ===> 将N维数组降到(N-1)维 思路:构造一个目标数组,初始为空。遍历N维数组中的每一项。如果当前项不是数组而是单个元素,那么将它保存到目标数组中。如果当前项是数组,对当前数组元素进行降维。这是一个典型的递归过程。 functio...
阅读 869·2021-11-15 11:38
阅读 2480·2021-09-08 09:45
阅读 2792·2021-09-04 16:48
阅读 2536·2019-08-30 15:54
阅读 911·2019-08-30 13:57
阅读 1591·2019-08-29 15:39
阅读 479·2019-08-29 12:46
阅读 3458·2019-08-26 13:39