统计字符串

统计字符串

  • 统计一个字符串中字符出现的次数
  • 获得次数最多的一个,共出现几次
  • 用字典的方式
var string = 'I miss you';
function statistics(string) {
     
	// 利用正则去除所有空格
	string = string.replace(/\s+/g, '');
	
	// 定义空字典
	var dictionaries = {
     };
	for (var i = 0; i < string.length; i++) {
     
		// 如果 dictionaries 
		// 对象不包含当前字母为属性名的成员
		if (dictionaries[string[i]] === undefined) {
     
			// 强行添加一个以当前字母为属性名的成员,
			// 初始值为 1
			dictionaries[string[i]] = 1;
		} else {
     
			// 如果字典中有这个字母为属性名的成员,
			// 就为当前属性名的值 += 1
			dictionaries[string[i]] += 1;
		};
	};

	// 利用奥运会跳水比赛记分牌的方式
	var max = 0;
	var count = 0;
	// 遍历字典中每个属性
	for (var key in dictionaries) {
     
		// 用当前属性值和 count 比较
		// 如果当前属性值大于 count 时,
		// 才取而代之,并将当前字符,保存在 max 中
		if (dictionaries[key] > count) {
     
			max = key;
			count = dictionaries[key];
		};
	};

	return {
     
		dictionaries,
		max,
		count
	};
};

console.log(statistics(string));
// {dictionaries: {…}, max: "s", count: 2}
// dictionaries: { I: 1, i: 1, m: 1, o: 1, s: 2, u: 1, y: 1 }
// max: "s"
// count: 2






你可能感兴趣的:(JavaScript,javascript)