基本的数据结构和算法一览

151 阅读1分钟

js要掌握的数据结构和算法

  1. 字符串和数组API

         字符串:length[长度]、toLOwercase/touppercase[大小写转换]、charAt[获取字符]、substring[截取]、replace[替换]、split[字符串分割父]、indexOf/lastindexof[检索]
         数  组:length[长度]、slice[截取]、unshift/push[前/后添加]、shift/pop[前/后删除]、sort(升(a,b)=>{return:a-b},降(a,b)=>{return:b-a}),reverse[翻转],join[拼接]
    
  2. 选择结构,循环结构,顺序结构

         if-elseswitch-casefordo-while,while,for循环嵌套,if选择嵌套 
    
  3. 常见的算法和数据结构

             冒泡排序:
             var obj=[23,46,34,12,6]
             for(var i=0;i<obj.length-1;i++){
                 for(var j=0;i<obj.length-i-1;i++){
                     if(dbj[j]>obj[j+1){
                         var arr=obj[j+1]
                         obj[j]=obj[j+1]
                         obj[j+1]=arr
                     }
                 }
             }
             console.log(obj);
    
    
             插入排序:
             var obj=[67,9,86,4,90]
             for(var i=0;i<obj.length;i++){
                 var arr=obj[i],j=i-1;
                 while(obj[j]>arr){
                     onj[j+1]=obj[j];
                     j--;
                 }
                 obj[j+1]=arr
             }
             console.log(obj)
             选择排序
               var arr=[23,5,6,89,15,6]
               for(var i=0;i<arr.length-1;i++){
                 var min=i;
                 for(var j=i+1;j<arr.length;j++){
                     if(arr[min]>arr[j]){
                     min=j;
                     }
                 }
                 if(i!=min){
                     var temp=arr[i]
                     arr[i]=arr[min]
                     arr[min]=temp
                 }
             }
             console.log(arr)
             
             
             箭头函数
             (参数列表)=>{
                 //函数体
             }
             普通函数
             funaction 函数名(参数列表){
                 //函数体
             }
             生成器
             funaction * 函数名(参数列表){
                 //函数体
             }
             
             注意遇到yield暂停遇到next执行
             
             函数调用
             回调函数
             funaction data(a,b){
                 return:a+b;
             }
             call自带的回调函数,但返回是是数字
             console.log(data,call(data,5,6));
             console.log(data(5,6);
             
             apple自带但是回调函数,返回的是数组
             var obj=[3,5];
             cosole.log(data,apple(data,obj));
             
             自调用函数
             ( funaction data(a,b){
                 colose.log(a+b);
             })(3,4)