一文搞定JavaScript字串物件基本知識

2022-06-21 14:01:05
本篇文章給大家帶來了關於的相關知識,其中主要介紹了關於字串物件的相關問題,包括了一些基本概念和實際使用等等內容,下面一起來看一下,希望對大家有幫助。

【相關推薦:、】

基本概念

基本包裝型別:把簡單資料型別包裝成了複雜資料型別。(基本資料型別就有了屬性和方法)

var str='andy';
console.log(str.length);
  • 把簡單資料型別包裝成複雜資料型別
var temp=new String('andy');
  • 把臨時變數的值給str
str=temp;
  • 銷燬臨時變數
temp=null;

JavaScript提供了三個特殊的參照型別:string、number、boolean

  • 字串的不可變

不要大量拼接字串,因為原來的字串也在記憶體中。裡面的值不變,雖然看上去可以改變內容,但其實是地址變了,記憶體中新開闢了一個記憶體空間。

根據字元返回位置

字串所有的方法都不會修改字串本身(字串是不可變的),操作完成會返回一個新的字串。

1、indexOf('要查詢的字元',[起始位置])

從前往後查詢

var str="你是我的神";
console.log(str.indexOf('我');//2
console.log(str.indexOf('我',1);

2、lastIndexOf('要查詢的字元',[起始位置])

從後往前查詢

var str="你是我的神";
console.log(str.lastIndexOf('我');

根據位置返回字元

1、charAt(索引號)

返回指定位置的字元

var str="andy";
console.log(str.charAt(3));

2、遍歷所有字元

for(var i=0;i<str.length;i++){
 console.log(str.charAt(i));
}

3、charCodeAt(索引號)

返回ASCII碼,可以來判斷使用者按了哪個鍵。

console.log(charCodeAt(o));

4、str[index]

H5新增的,有相容問題

字串操作方法

1、concat('字串1','字串2',…)

var str='cindy';
console.log(str.concat('red');

2、substr(start,length)

從start開始取length長度的字元

var str='你是我的神';
console.log(str.substr(2,2));

3、替換字元replace('被替換的字元','替換的字元')

只替換第一個字元

var str='andandand';
console.log(str.replace('a','b');//bndandand

4、字元轉換為陣列split('分隔符')

var str='red,pink,blue';

console.log(str.split('&'));

5、toUpperCase()轉換為大寫

6、toLowerCase()轉換成小寫


簡單案例

  • 查詢‘abcdefgabcdefg’中所有g出現的位置及次數

  var str='abcdefgabcdefg';
        var index=str.indexOf('g');
        var num=0;
        while(index!==-1){
            console.log(index);
            num++;
            index=str.indexOf('g',index+1);
        }
        console.log('g出現的次數是:'+num);
  • 判斷一個字串‘abcdefgabcdefg’中出現最多的字元,統計次數

var str='abcdefgabcdefg';
       var obj={};
       for(var i=0;i<str.length;i++){
           var chars=str.charAt(i);
           if(obj[chars]){

            obj[chars]++;
           }else{
               obj[chars]=1;
           }
       }
       console.log(obj);
       var max=0;
       var ch='';
       for(var k in obj){
           if(obj[k]>max){
               max=obj[k];
               ch=k;
           }
       }
       console.log(max);
       console.log('最多的字元為'+ch);
  • ‘abcoefoxyozzoopp’把o替換為*

 var str='abcoefoxyozzoopp';
        while(str.indexOf('o')!==-1){
            str=str.replace('o','*');
        }
        console.log(str);

【相關推薦:、】

以上就是一文搞定JavaScript字串物件基本知識的詳細內容,更多請關注TW511.COM其它相關文章!