查找字符串中每个字符的确切数量
Finding exact amount of each character in a string
所以我遇到了一个非常复杂的面试问题(至少对我来说),我还没能找到答案。如下所示:
编写一个函数,该函数接受一个字符串并返回一个对象,其中键是特定的字母,值是在字符串中找到特定字母的次数。例如:
myfn('My name is Taylor');
newObj{
a: 2,
e: 1,
i: 1,
l: 1,
m: 2,
n: 1,
o: 1,
r: 1,
s: 1,
t: 1,
y: 2
}
CCD_ 1是它正在返回的。
此函数将字符串作为其参数。
function getObj(str) {
//define a new object
var obj = {};
// loop over the string
for (var i = 0, l = str.length; i < l; i++) {
// set the letter variable to the element the loop is on
// drop the letter to lowercase (if you want to
// record capitalised letters too drop the
// `.toLowerCase()` part)
var letter = str[i].toLowerCase();
// if the key doesn't exist on the object create a new one,
// set to the letter and set it to zero
if (!obj[letter]) { obj[letter] = 0; }
// increment the number for that key (letter)
obj[letter]++;
}
// finally return the object
return obj;
}
var obj = getObject(str);
DEMO
我想我想通了。
var myFn = function(str){
var newObj = {};
for(var i = 0; i<str.length; i++){
if(newObj[str[i]]){
newObj[str[i]]++;
} else{
newObj[str[i]] =1;
}
}
return newObj;
}
已针对拼写错误和语法进行编辑
相关文章:
- 如何将字符串拆分为字符,但在javascript中保留空格
- 如何显示字符串中最多 200 个字符
- 我想在Javascript中探索类似C语言的字符串的整个字符
- 如何用jquery替换字符串中可能变化的字符
- 通过跳过拆分字符在 javascript 中拆分字符串
- 使用正则表达式匹配长度为六个字符的字母数字字符串
- 字符串替换-不支持格式字符'}'
- 到UpperCase字符串Javascript中的特定字符索引
- 用类javascript包装span标记中字符串中的字符索引
- 将字符串分组为n个字符的块,并应用替换
- 如何检查一个字符串的所有字符是否都存在于另一个字符串中
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- Javascript-正则表达式,用于在未转义字符上拆分字符串,例如|,但忽略|
- Regex-从字符第N次出现到字符串末尾的匹配
- Visual Studio 2010跳转到下一个任意字符/字符串
- 估计存储在 localStorage (Javascript) 中的 10,000 个字符字符串的大小
- 字符字符串中最后一个单词的第一个字母
- 匹配任何字符字符串的正则表达式,最多为“/”Javascript
- 将特殊字符字符串到 JSON 字符串化非法令牌中
- 在javascript中计算精确的字符字符串高度