用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)

巧妙避开这5个坑,java面试成功率提升90%!

计算机解决问题没有奇技淫巧,但动态规划还是有点套路

用AI算法起中文名字 ---- 传统起名字方法:传统经典起名方法罗列

ES6中的Map集合(与java里类似)