字符串字符統計——js練習

題目要求

完善函數 count 的功能javascript

  • 函數 count 會統計傳入的字符串其每一個字符的的個數,並返回一個結果對象(Object)。
  • 屬性名稱(key)爲統計字符(區分大小寫,即 a 不等於 A),屬性值(value)爲統計字符的個數。

如 count('javaScript') 會返回一個統計結果對象,該對象表示 javaScript 的字符統計結果。java

count('javaScript'); // 返回結果爲 {j: 1, a: 2, v: 1, S: 1, c: 1, r: 1, i: 1, p: 1, t: 1}

function count(string){
    var strObj = {};
    var strLen = string.length;
    for (var i=0; i<strLen; i++){
        var key = string[i];
        if(strObj[key]){
            strObj[key]++;
        }
        else{
            strObj[key]=1;
        }
    }
    return strObj;
}

指導方法以下函數

思路:spa

  • 建立一個統計對象,記錄統計結果
  • 使用循環語句遍歷字符串的每一個字符
  • 對於每一個字符,須要依次判斷是否已經出如今統計對象中,即統計對象是否還有該屬性
/**
 * 函數 `count` 會統計傳入的字符串參數其每一個字符的的個數
 * @param {String} str 須要統計的字符串
 */
function count(str) {
  var resultObj = {}; // 統計對象
  var i = 0;
  var strLen = str.length;
  for (; i < strLen; i++){
    var curChar = str.charAt(i); 
    // 若是結果對象存在該字符的屬性,則自增,不然置爲1
    if (resultObj[curChar]) {
      resultObj[curChar]++;
    } else {
      resultObj[curChar] = 1;
    }
  }
  // 返回結果
  return resultObj;
}

這裏使用了 charAt 方法來獲取字符串指定位置的字符code

var str = 'abcd';
// 使用 charAt 方法
str.charAt(1); // 返回 b
// 另外也能夠經過使用方括號來獲取字符串的字符
str[2]; // c

定義和用法

charAt() 方法可返回指定位置的字符。對象

請注意,JavaScript 並無一種有別於字符串類型的字符數據類型,因此返回的字符是長度爲 1 的字符blog

提示和註釋

註釋:字符串中第一個字符的下標是 0。若是參數 index 不在 0 與 string.length 之間,該方法將返回一個空字符串ip

 

關於charAt方法的更多解釋:http://www.w3school.com.cn/jsref/jsref_charAt.asp字符串

相關文章
相關標籤/搜索