用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别人的博客,纯自己手打。

原文地址:https://www.cnblogs.com/hjj2ldq/p/7616467.html