成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

js基礎(chǔ) 數(shù)組與字符串

liaosilzu2007 / 1931人閱讀

摘要:最近在梳理的基礎(chǔ),首先從數(shù)組和字符串開始。如果超出有效范圍與字符串長度減一的索引值返回空字符串返回對象內(nèi)第一次出現(xiàn)子字符串位置。將字符串以參數(shù)分割為數(shù)組方法返回一個字符串,該字符串中的字母被轉(zhuǎn)換成小寫。

最近在梳理js的基礎(chǔ),首先從數(shù)組和字符串開始。
string 常用方法:

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

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

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

    2.slice(start開始位置索引,end結(jié)束位置索引) 基本和substring相似,區(qū)別在參數(shù)為負(fù)數(shù)。
    str.slice(1)   //bcdefg           str.substring(1,3) // bc

    輸入負(fù)值時 值與字符串的長度相加

    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ù))
str.substr(1)  //bcdefg            str.substr(1,1)  //b

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

str.substr(-1) =>str.substr(6)//g                 

str.substr(-2,-3)  // ""```

    4.charAt(index) 方法返回指定索引位置處的字符。如果超出有效范圍(0與字符串長度減一)的索引值返回空字符串.
    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方法返回一個字符串,該字符串中的字母被轉(zhuǎn)換成小寫。


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

10.match() – 方法可在字符串內(nèi)檢索指定的值,或找到一個或多個正則表達(dá)式的匹配 
11.search  方法返回與正則表達(dá)式查找內(nèi)容匹配的第一個字符串的位置。
12.replace 用來查找匹配一個正則表達(dá)式的字符串,然后使用新字符串代替匹配

  

數(shù)組常用的方法

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

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

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

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

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

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

   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(結(jié)束 不包含)
                        
                        返回新數(shù)組,原數(shù)組不變
console.log(new);   // [3,4]

console.log(arr);   // [1,2,3,4,5]```                      

    8. concat   數(shù)組合并


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

       (1).一個參數(shù)  從參數(shù)位置截取 填寫負(fù)數(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] 

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

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

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


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

(1)冒泡排序  每次比較相鄰的兩個數(shù),如果后一個數(shù)比前一個數(shù)小,換位置
        var tmp;
        for(var i=0,len=arr.length-1;iarr[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ù)比較,小的放到左邊,大的放到右面
   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
            arr2=[];
            function find(arr2,ele){
              for(var i= 0,len=arr2.length;i
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方法排序,去掉旁邊相同項
        arr2=[];
        arr.sort();
        for(var i=0;i
 str=str.substring(str.lastIndexOf(".")+1);
(2) var str="1.xxx.avi";
     
  var arr=str.split(".");
      
  console.log(arr[arr.length-1]);```

        2.字母翻轉(zhuǎn),首字母大寫
       arr=str.split(" ");
       for(var i=0;i
json={},
n= 0,
sName;

for(var i= 0,len=str.length;i
            if(json[name]>n){
                n=json[name];
                sName=name;
            }
        }
        console.log("出現(xiàn)最多的字母"+sName+"次數(shù)為"+n);```

    4.  簡單的url參數(shù)解析
  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;

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/83253.html

相關(guān)文章

  • 【連載】前端個人文章整理-從基礎(chǔ)到入門

    摘要:個人前端文章整理從最開始萌生寫文章的想法,到著手開始寫,再到現(xiàn)在已經(jīng)一年的時間了,由于工作比較忙,更新緩慢,后面還是會繼更新,現(xiàn)將已經(jīng)寫好的文章整理一個目錄,方便更多的小伙伴去學(xué)習(xí)。 showImg(https://segmentfault.com/img/remote/1460000017490740?w=1920&h=1080); 個人前端文章整理 從最開始萌生寫文章的想法,到著手...

    madthumb 評論0 收藏0
  • JS基礎(chǔ)入門篇(十)— 數(shù)組方法

    摘要:返回值拼接后的字符串。返回值新數(shù)組的。語法返回值被刪除的那一個元素。返回值排序后的數(shù)組當(dāng)什么都不傳入的時候,默認(rèn)由小到大排列。傳入的時候,內(nèi)的返回值小于或者等于,數(shù)組序列不變。 1.join 作用: 將數(shù)組通過指定字符拼接成字符串。語法: string arr.join([separator = ,]);參數(shù): separator可選,如果省略的話,默認(rèn)為一個逗號。如果 seprato...

    zero 評論0 收藏0
  • JS基礎(chǔ)入門篇(十)— 數(shù)組方法

    摘要:返回值拼接后的字符串。返回值新數(shù)組的。語法返回值被刪除的那一個元素。返回值排序后的數(shù)組當(dāng)什么都不傳入的時候,默認(rèn)由小到大排列。傳入的時候,內(nèi)的返回值小于或者等于,數(shù)組序列不變。 1.join 作用: 將數(shù)組通過指定字符拼接成字符串。語法: string arr.join([separator = ,]);參數(shù): separator可選,如果省略的話,默認(rèn)為一個逗號。如果 seprato...

    張利勇 評論0 收藏0
  • JS基礎(chǔ)入門篇(十)— 數(shù)組方法

    摘要:返回值拼接后的字符串。返回值新數(shù)組的。語法返回值被刪除的那一個元素。返回值排序后的數(shù)組當(dāng)什么都不傳入的時候,默認(rèn)由小到大排列。傳入的時候,內(nèi)的返回值小于或者等于,數(shù)組序列不變。 1.join 作用: 將數(shù)組通過指定字符拼接成字符串。語法: string arr.join([separator = ,]);參數(shù): separator可選,如果省略的話,默認(rèn)為一個逗號。如果 seprato...

    Batkid 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<