【发布时间】:2016-11-08 18:19:29
【问题描述】:
我正在解决一个问题,要求获取一个字符串 string 并以交替的顺序返回一个新字符串,其中包含 string 中最常见的 2 个字母。
我的代码:
var word = "pponoomababaaa";
var len = word.length;
function twoLetters (word){
var arr = []
word = word.split("")
for (var i = 0; i < word.length; i++){
if ((arr[word[i]])) arr[word[i]] += 1
else arr[word[i]] = 1
}
return arr // [ p: 2, o: 3, n: 1, m: 1, a: 5, b: 2 ]
}
twoLetters(word)
这个返回的arr 的长度为0,我不明白,所以我真的不能用它做任何事情。我已经尝试将它放入一个对象中,但它仍然有同样的问题。如何让arr 等于一个键:值对,然后找到两个最高的values,然后他们将keys 以交替顺序添加到字符串中。我的代码是否朝着正确的方向前进?
【问题讨论】:
-
使用
{},而不是[]。 -
您的
arr不为空。在您的arr中设置键后,它就变成了一个对象。 -
请让我们知道什么对您有用并考虑接受答案,这有助于其他人在出现此类问题时了解什么是正确的解决方案
标签: javascript string loops