最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js數(shù)組與字符串常用方法總結

 更新時間:2017年01月13日 11:28:17   作者:791617623  
本文主要總結了js數(shù)組與字符串的常用方法。具有一定的參考價值,下面跟著小編一起來看下吧

最近在梳理js的基礎,首先從數(shù)組和字符串開始。

string 常用方法:

1.substring(start開始位置的索引,end結束位置索引) 截取的位置不包含結束位置的字符,只寫一個參數(shù)表示從開始位置截取到最后

   var str='abcdefg';  
   str.substring(1) //得到bcdefg  str.substring(1,3) //得到bc

輸入負值時將負值變?yōu)?,哪個較小作為開始位置

     str.substing(-1,1)  =>str.substring(0,1) //a
     str.substring(1,-2) =>str.substring(0,1) //a

2.slice(start開始位置索引,end結束位置索引) 基本和substring相似,區(qū)別在參數(shù)為負數(shù)。

var str='abcdefg'; 
str.slice(1)  //bcdefg      str.substring(1,3) // bc

輸入負值時 值與字符串的長度相加

  str.slice(-1)          =>str.slice(6)    //g
  str.slice(1,-2) =>str.slice(1,5)  //bcde
  str.slice(-2,-1)=>str.slice(5,6)  //f

值絕對值大于字符串的長度時變?yōu)?0

  str.slice(-22) =>str.substring(0)  //abcdefg

第二個參數(shù)絕對值大于字符串的長度時,返回''

3.substr(start開始位置索引,end需要返回的字符個數(shù))

var str='abcdefg'; 
str.substr(1) //bcdefg      str.substr(1,1) //b

輸入負值時 start參數(shù)與字符串的長度相加 ,end為負時參數(shù)變?yōu)?

 str.substr(-1) =>str.substr(6)//g         
 str.substr(-2,-3) // ''

4.charAt(index) 方法返回指定索引位置處的字符。如果超出有效范圍(0與字符串長度減一)的索引值返回空字符串.

 var str='abcdefg';
 str.charAt(2) // c

5.index(string)  返回String對象內(nèi)第一次出現(xiàn)子字符串位置。如果沒有找到子字符串,則返回-1。

 var str='abcdefga'  str.indexOf('a')  // 0   str.indexOf('h') //-1

6.lastIndexOf(string)  倒敘查找

返回String對象內(nèi)第一次出現(xiàn)子字符串位置。如果沒有找到子字符串,則返回-1。  

var str='abcdefga'     str.lastIndexOf('a') // 7

7.split(str)  將字符串以參數(shù)分割為數(shù)組

var str='abcadeafg'     str.split('a') //["", "bc", "de", "fg"]

8. toLowerCase方法返回一個字符串,該字符串中的字母被轉換成小寫。

9. toUpperCase方法返回一個字符串,該字符串中的所有字母都被轉換為大寫字母。

10.match() – 方法可在字符串內(nèi)檢索指定的值,或找到一個或多個正則表達式的匹配

11.search  方法返回與正則表達式查找內(nèi)容匹配的第一個字符串的位置。

12.replace 用來查找匹配一個正則表達式的字符串,然后使用新字符串代替匹配

http://www.cnblogs.com/bijiapo/p/5451924.html

數(shù)組常用的方法

1. push      添加到最后        返回添加后的數(shù)組

2. unshift   添加到最前面      返回添加后的數(shù)組

3. shift     刪除(從前面)    返回處理后的數(shù)組

4. pop       刪除最后一項      返回處理后的數(shù)組

5. reverse   數(shù)組翻轉          返回處理后的數(shù)組

6. join      數(shù)組轉化為字符串  

   var arr=[1,2,3,4,5], str=arr.join('--'); 
    console.log(str); // 1--2--3--4--5 以join內(nèi)的參數(shù)切割數(shù)組
    console.log(arr); // [1,2,3,4,5]  原數(shù)組未變

7. slice(start,end)     截取數(shù)組 從start(開始) 到end(結束 不包含)

                            返回新數(shù)組,原數(shù)組不變

    var arr=[1,2,3,4,5],new=arr.slice(2,4);
    console.log(new);  // [3,4]
    console.log(arr);  // [1,2,3,4,5]     
   

8. concat   數(shù)組合并

9. splice(開始下標,個數(shù),ele1,ele2....) 剪接數(shù)組

  (1).一個參數(shù)  從參數(shù)位置截取 填寫負數(shù)類似上面str slice  返回截好的數(shù)組 原數(shù)組變化

     var arr=[1,2,3,4,5];
     console.log(arr.splice(1));  // [2,3,4,5]
     console.log(arr);       // [1]
     console.lgo(arr.splice(-1))  // [5]    

  (2).二個參數(shù)  截取 (開始位置,個數(shù)) 返回截好的數(shù)組 原數(shù)組變化

     var arr=[1,2,3,4,5];
     console.log(arr.splice(1,3)); // [2,3,4]
     console.log(arr)       // [1,5]
     arr.splice(0,1) =>arr.shift()
     arr.splcie(arr.length-1,1) =>arr.pop()

   (3).添加  原數(shù)組增加

     var arr=[1,2,3,4,5];
     console.log(arr.splice(1,0,13)); // []
     console.log(arr);        // [1,13,2,3,4,5]

  (4).替換 

     var arr=[1,2,3,4,5];
     console.log(arr.splice(1,2,'a','b')) // [2,3]
     console.log(arr);        // [1,'a','b',4,5]
     arr.splice(0,0,1) =>arr.unshift(1);
     arr.splice(arr.length,0,1) => arr.push(1)

  10. arr.forEach(item,index,array){}   遍歷,循環(huán) 類似jquery的each

      其中的item參數(shù)是數(shù)組中的內(nèi)容,index為其索引,array表示數(shù)組本身

var arr=[1,2,3,4,5];
      arr.forEach(function(item,index,array){
      })

      遇到嵌套跳出循環(huán)出現(xiàn)問題,暫時沒有解決;

  11. map方法        映射 用法和forEach類似

   var men=[
          {'name':1,'age':12},
          {'name':2,'age':22},
          {'name':3,'age':33}
      ],
      age=men.map(function(item){
          return item.age;
      })

  12. arr.sort  排序

  var arr=[1,2,22,11,33,3,5,4];
    console.log(arr.sort()) // [1,11,2,22,3,33,4,5] 

      默認情況下sort方法是按ascii字母順序排序的,而非我們認為是按數(shù)字大小排序

       arr.sort(function(a,b){ return a-b})

      a-b從小到大 b-a從大到小

  13.  順便寫寫我知道的排序方法

    (1)冒泡排序  每次比較相鄰的兩個數(shù),如果后一個數(shù)比前一個數(shù)小,換位置

  function bSort(arr){
      var tmp;
      for(var i=0,len=arr.length-1;i<len;i++){
        for(var j=0;j<len;j++){
          if(arr[j]>arr[j+1]){
            //換位置
            tmp=arr[j+1];
            arr[j+1]=arr[j];
            arr[j]=tmp;
          }
        }
      }
      return arr;
    } 
    function bSort(arr){
      var tmp;
      arr.forEach(function(item,i){
        arr.forEach(function(item,i){
          if(item>arr[i+1]){
            //換位置
            tmp = arr[i + 1];
            arr[i + 1] = arr[i];
            arr[i] = tmp;
          }
        })
      })
      return arr
    }

    (2)快速排序 二分法,找到中間的數(shù),取出來(新數(shù)組),原數(shù)組沒,每次和此數(shù)比較,小的放到左邊,大的放到右面     

 function fastSoft(arr){
        var len=arr.length;
        if(len<=1){ return arr}
        var  cIndex=Math.floor(len/2),
           c=arr.splice(c,1),
           left=[],
           right=[];
        arr.forEach(function(item,i){
            if(item<c[0]){
            left.push(item);
          }else{
            right.push(item);
          }
        })
     return fastSoft(left).concat(c,fastSoft(right));
   }   
 

  14. 數(shù)組的去重也寫下吧

    (1)雙層循環(huán)不是很好                

    var arr=[2,3,2,2,2,4,5],
          arr2=[];
            function find(arr2,ele){
             for(var i= 0,len=arr2.length;i<len;i++){
               if(arr2[i]==ele) return true;
             }
              return false;
            }
            for(var i= 0,len=arr.length;i<len;i++){
              if(!find(arr2,arr[i])){
                arr2.push(arr[i]);
              }
            }

    (2)利用json的key值無重復              

  var arr=[2,3,2,2,2,4,5],
          json={},
          arr2=[];
            arr.forEach(function(item,i){
              if(!json[item]){
                json[item]=222;
              }
            });
            for(var name in json){
              arr2.push(Number(name));//類型發(fā)生變化了
            }

     (3) 利用sort方法排序,去掉旁邊相同項      

   var arr=[2,3,2,4,4,4,5],
      arr2=[];
        arr.sort();
        for(var i=0;i<arr.length;i++){
          if(arr[i]==arr[i+1]){
            arr.splice(i--,1);
          }
        }

      一些常見數(shù)學方法

        math.abs() 取絕對值  math.ceil() 向上取整 math.floor() 向下取整
        math.round() 四舍五入 math.roundom
    function getRan(n,m){
      return Math.floor(Math.random()*(m-n)+n);
    }  
  

      數(shù)組和字符串的一些綜合應用

      1. 截取后綴名

        (1) var str='1.xxx.avi';

           str=str.substring(str.lastIndexOf('.')+1);

        (2) var str='1.xxx.avi';

        var arr=str.split('.');
        console.log(arr[arr.length-1]);

      2.字母翻轉,首字母大寫          

     var str='wo shi yi ge demo',
        arr=str.split(' ');
        for(var i=0;i<arr.length;i++){
          console.log()
         arr[i]=arr[i].charAt(0).toUpperCase()+arr[i].substring(1);
        }
        arr.reverse();
        str=arr.join(' ');

      3. str中字符出現(xiàn)次數(shù)的統(tǒng)計          

     var str='aaaandkdffsfsdfsfssq12345',
        json={},
        n= 0,
        sName;
        for(var i= 0,len=str.length;i<len;i++){
          var Letter=str.charAt(i);
          //統(tǒng)計次數(shù)
          if(json[Letter]){
            json[Letter]++;
          }else{
            json[Letter]=1;
          }
        }
        //找最大
        for(var name in json){
          if(json[name]>n){
            n=json[name];
            sName=name;
          }
        }
        console.log('出現(xiàn)最多的字母'+sName+'次數(shù)為'+n);

      4.  簡單的url參數(shù)解析              

  function getData() {
          var search = window.location.search.substring(1);
          if (!search) {
            return;
          }
          var arr = search.split('&'),
              arr2 = [],
              json = {},
              key,
              alue;
          for (var i = 0; i < arr.length; i++) {
            arr2 = arr[i].split('=');
            key = arr2[0];
            value = arr2[1];
            json[key] = value;
          }
          return json;
         }

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關文章

  • js兩種拼接字符串的簡單方法(必看)

    js兩種拼接字符串的簡單方法(必看)

    下面小編就為大家?guī)硪黄猨s兩種拼接字符串的簡單方法(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • HTML+CSS+JS實現(xiàn)抓娃娃機游戲

    HTML+CSS+JS實現(xiàn)抓娃娃機游戲

    這篇文章主要介紹了如何利用HTML+CSS+JS制作抓娃娃機游戲,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • JavaScript實現(xiàn)頁面跳轉的5種方法總結

    JavaScript實現(xiàn)頁面跳轉的5種方法總結

    在前臺開發(fā)中會涉及頁面跳轉的問題,下面這篇文章主要給大家總結介紹了關于JavaScript實現(xiàn)頁面跳轉的5種方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • 微信小程序云開發(fā) 生成帶參小程序碼流程

    微信小程序云開發(fā) 生成帶參小程序碼流程

    這篇文章主要為大家詳細介紹了微信小程序云開發(fā),生成帶參小程序碼,云函數(shù)網(wǎng)絡請求,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • JS隨機數(shù)產(chǎn)生代碼分享

    JS隨機數(shù)產(chǎn)生代碼分享

    大家在制作網(wǎng)頁或者小程序的時候經(jīng)常用到隨機數(shù),作者整理了一個很簡單的JS生成隨機數(shù)的程序,一起學習下。
    2018-02-02
  • 原生JS實現(xiàn)的多個彩色小球跟隨鼠標移動動畫效果示例

    原生JS實現(xiàn)的多個彩色小球跟隨鼠標移動動畫效果示例

    這篇文章主要介紹了原生JS實現(xiàn)的多個彩色小球跟隨鼠標移動動畫效果,涉及javascript事件響應、頁面元素屬性動態(tài)修改及隨機數(shù)應用等相關操作技巧,需要的朋友可以參考下
    2018-02-02
  • JS前端筆試題分析

    JS前端筆試題分析

    這篇文章主要介紹了JS前端筆試題,結合實例形式分析了javascript字符串、數(shù)組及日期操作相關技巧,需要的朋友可以參考下
    2016-12-12
  • ES6學習筆記之Set和Map數(shù)據(jù)結構詳解

    ES6學習筆記之Set和Map數(shù)據(jù)結構詳解

    這篇文章主要介紹了ES6學習筆記之Set和Map數(shù)據(jù)結構,結合實例形式詳細分析了ECMAScript中基本數(shù)據(jù)結構Set和Map的常用屬性與方法的功能、用法及相關注意事項,需要的朋友可以參考下
    2017-04-04
  • 一篇文章徹底講清楚前端熱更新

    一篇文章徹底講清楚前端熱更新

    這篇文章主要介紹了前端熱更新的相關資料,熱更新讓前端開發(fā)更加高效,通過最小代價替換代碼并保留頁面狀態(tài),文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-02-02
  • javascript web對話框與彈出窗口

    javascript web對話框與彈出窗口

    web對話框與彈出窗口的js函數(shù)
    2009-02-02

最新評論

木兰县| 荣成市| 静宁县| 刚察县| 高碑店市| 龙州县| 黄大仙区| 临澧县| 永嘉县| 平谷区| 德昌县| 宜都市| 宁武县| 华阴市| 同仁县| 六安市| 长宁县| 柳河县| 钟山县| 佛学| 志丹县| 沾化县| 潞西市| 宁安市| 洛南县| 务川| 辉南县| 安福县| 公安县| 元谋县| 石泉县| 高雄市| 神池县| 望奎县| 桐城市| 泸西县| 蓬溪县| 从江县| 云安县| 饶平县| 射洪县|