• 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的属性),并给对象的属性添加值。

  • 相关阅读:
    MYSQL5.6学习——mysqldump备份与恢复
    【转】分布式与集群的区别
    (四)伪分布式下jdk1.6+Hadoop1.2.1+HBase0.94+Eclipse下运行wordCount例子
    (三)配置Hadoop1.2.1+eclipse(Juno版)开发环境,并运行WordCount程序
    git pull总是要输入账号和密码
    Undefined index: validate(thinkphp)
    mysql table status
    如何学习web开发环境搭建和脚手架
    serversql tinkphp
    apache 配置
  • 原文地址:https://www.cnblogs.com/pine-cone/p/8623602.html
Copyright © 2020-2023  润新知