zoukankan      html  css  js  c++  java
  • 用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别人的博客,纯自己手打。

  • 相关阅读:
    tesseract动态库依赖关系
    面向对象分析与设计笔记(一)
    用例图笔记
    矩阵乘法求解
    二维数组 Visual Studio怎么监视
    cmake windows caffe cuda版本的切换
    Python入门
    Python基本数据类型
    【LabVIEW】二进制文件的存储与读取方法
    【LabVIEW】文件对话框点击取消后报错、实现自定义文件名
  • 原文地址:https://www.cnblogs.com/hjj2ldq/p/7616467.html
Copyright © 2011-2022 走看看