字符串字符统计——js练习
生活随笔
收集整理的這篇文章主要介紹了
字符串字符统计——js练习
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目要求
完善函數count的功能
函數count會統(tǒng)計傳入的字符串其每個字符的的個數,并返回一個結果對象(Object)。
屬性名稱(key)為統(tǒng)計字符(區(qū)分大小寫,即 a 不等于 A),屬性值(value)為統(tǒng)計字符的個數。
如count('javaScript')會返回一個統(tǒng)計結果對象,該對象表示javaScript的字符統(tǒng)計結果。
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;
}
指導方法如下
思路:
創(chuàng)建一個統(tǒng)計對象,記錄統(tǒng)計結果
使用循環(huán)語句遍歷字符串的每個字符
對于每個字符,需要依次判斷是否已經出現(xiàn)在統(tǒng)計對象中,即統(tǒng)計對象是否還有該屬性
/**
* 函數 `count` 會統(tǒng)計傳入的字符串參數其每個字符的的個數
* @param {String} str 需要統(tǒng)計的字符串
*/
function count(str) {
var resultObj = {}; // 統(tǒng)計對象
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方法來獲取字符串指定位置的字符
var str = 'abcd'; // 使用 charAt 方法 str.charAt(1); // 返回 b // 另外也可以通過使用方括號來獲取字符串的字符 str[2]; // c
定義和用法
charAt() 方法可返回指定位置的字符。
請注意,JavaScript 并沒有一種有別于字符串類型的字符數據類型,所以返回的字符是長度為 1 的字符
提示和注釋
注釋:字符串中第一個字符的下標是 0。如果參數 index 不在 0 與 string.length 之間,該方法將返回一個空字符串
關于charAt方法的更多解釋:http://www.w3school.com.cn/jsref/jsref_charAt.asp
總結
以上是生活随笔為你收集整理的字符串字符统计——js练习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北京元洲装饰怎么样(北京东易日盛装饰公司
- 下一篇: whoosh使用笔记