javascript:字符串字符统计的练习总结

题目要求是,函数count会统计传入的字符串和其字符串出现的个数,并返回给Object()对象。

做这道题目的关键点是:

1.首先要有一个能统计字符串的对象。

2.需要遍历传入的字符串。

3.判断当前遍历的字符在这个字符串中出现的次数。

根据以上关键点,写出代码:

 1 var resultObject = {};
 2 var str = 'javascript';
 3 
 4 function count( str ){
 5   for( var i = 0; i < str.length; i++){  //循环传入的变量str
 6     var key = str.charAt(i);   //将本次循环字符串中的字符,保持在变量key中
 7     if(resultObject[key]){    //判断resultObj对象中,有没有本次循环字符串中的字符
 8       resultObject[key]++;  //如果有则为对象中的属性值加1
 9     } else {
10       resultObject[key] = 1;  //如果没有则重置在对象中的属性值为1
11     }
12   }
13   return resultObject;
14 }
15 
16 var result = count(str);
17 console.log(result);

最后输出变量result,我们就得到了:{j: 1, a: 2, v: 1, s: 1, c: 1, …}

这里有个关键的知识点,就是访问属性的方法,我整理了下,一共有两种。

1.点访问法,通过在对象名称后面加点,来访问对象的属性。

例: 

var food = {
    name:'apple',
    color:'red'
  }
  console.log(food.name); //得到apple

2.方括号访问法,有两种访问方式,第一种是通过访问变量,来访问对象的属性;第二种是直接访问对象的属性。

例:

var food = {
    name:'apple',
    color:'red'
  }
  var foodName = 'color';
  console.log(food[foodName]); //得到red
   console.log(food['color']); //同样也得到red    

最重要的是用方括号法访问的对象属性是变量,是动态的,在这道题里就可以通过这个方法,通过访问变量key(就相当于访问对象resultObject的属性),并给对象的属性添加值。

原文地址:https://www.cnblogs.com/pine-cone/p/8623602.html