jsファウンデーション---組み込みオブジェクト(文字列)

var str = 'andy'; 
console.log(str.length); 

//相当于以下代码
// 1. 生成临时变量,把简单类型包装为复杂数据类型 
var temp = new String('andy'); 
// 2. 赋值给我们声明的字符变量 
str = temp; 
// 3. 销毁临时变量 
temp = null;

1.文字列は不変です

内部の値が不変であることを意味します。内容は変更できるように見えますが、実際にはアドレスが変更され、メモリ内に新しいメモリ空間が開かれます。

var str='小明';
console.log(str);//小明
str='小新';
console.log(str);//小新

ここに画像の説明を挿入

2.関連する方法

ここに画像の説明を挿入

ケース1: 文字列内の文字の出現回数を見つける
考え:
①コアアルゴリズム:最初にoが現れる位置を見つける
②次に、indexOfによって返される結果が-1でない限り、検索を続けます
③理由indexOfは最初のものしか見つからないため、次の検索では2番目のパラメーターを使用し、現在のインデックスを1増やして、検索を続行します。

var str = 'absodjogokoroy';
 var count = 0;
 var index = str.indexOf('o'); //o第一次出现的索引位置
 while (index != -1) {
    
    
     console.log(index); //
     count++;
     index = str.indexOf('o', index + 1);

 }
 console.log(count);

ここに画像の説明を挿入
ケース2:最も出現する文字と回数を数える
考え:
①コアアルゴリズム:charAt()を使用してこの文字列をトラバースする
②各文字をオブジェクトに格納します。オブジェクトにこの属性がない場合、属性値は1です。存在する場合、属性値は+
1③オブジェクトをトラバースして最大値と文字を取得します

var str = 'absodjogokoroy';
 var obj = {
    
    };

 for (var i = 0; i < str.length; i++) {
    
    
     if (obj[str.charAt(i)]) {
    
     //对象中含字母属性
         obj[str.charAt(i)]++;
     } else {
    
     //对象中不含字母属性
         obj[str.charAt(i)] = 1;
     }

 }
 console.log(obj);
 var max = 0;
 var ch = '';
 for (var k in obj) {
    
    
     if (max < obj[k]) {
    
    
         max = obj[k];
         ch = k;
     }
 }
 console.log("出现次数最多的字符是:" + ch + ",次数是:" + max);

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/pilgrim_121/article/details/113064705