用ES6巧妙的解决传统面试中的算法小问题!
Posted 韩金金金
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用ES6巧妙的解决传统面试中的算法小问题!相关的知识,希望对你有一定的参考价值。
最近自己也在准备面试,在复习算法的时候,机智的用了一波ES6.一起来瞧瞧吧!
1.数组的去重
var arr=str.split(‘‘); for(var i=0;i<arr.length-1;i++){ for(var j=i+1;j<arr.length;j++){ if(arr[i]==arr[j]){ arr.splice(j,1); // arr.length-=1;删完长度自动减1 j--; console.log(arr) } } }
用两层循环来做的话,好像麻烦了点哦。好像ES6中的Set可以用。试试看?
var arr=[1,3,55,12,32,3,66,12,358,66,73,32]; var a=new Set(arr);//SET是类数组的集合 console.log(a,a.size); // arr=Array.from(a);将类数组转换为数组 arr=[...a];//扩展运算符
what ? so easy ,没有那么多逻辑,代码量也很少。简直太酷炫了!!!
2.如何拼接两个数组?
传统的for循环就不多说了,当然concat也是可以的,还是直接上ES6吧!
var arr1 = [1,2,3]; var arr2 = [4,5,6]; arr1.push(...arr2);
或者是这样的
var arr1 = [1,2,3]; var arr2 = [4,5,6]; var arr3 = [...arr1,...arr2];
后面还是会继续写关于算法的问题,或者是ES6的。希望觉得不错的小伙伴,可以点个赞加个关注啥的.
(写第一篇博客的时候,内容过于多,过于杂,以后会走文字少,精简的风格的,毕竟我自己看别人博客的时候,内容过多或者杂的话,就容易脑袋疼)。
PS:从不copy别人的博客,纯自己手打。
以上是关于用ES6巧妙的解决传统面试中的算法小问题!的主要内容,如果未能解决你的问题,请参考以下文章
动态规划算法(Dynamic Programming,简称 DP)