【发布时间】:2016-06-24 00:00:13
【问题描述】:
我正在尝试创建一个程序,将字符串压缩为它有多少个字符。只是为了让我的非编程朋友了解压缩的工作原理。
不幸的是,我似乎无法将相同的字母放入单个数组中,而将其他相同的字母集放入其他各自的数组中。
代码不完整,因为我的硬盘丢失了很多数据,而这就是我在 Google Drive 上备份的全部数据。谁能帮我解决这个问题?谢谢!
var string = "twinkle twinkle little star how i wonder what you are up above the world so high like a diamond in the sky twinkle twinkle little star"
var brokenString = string.split("")
var counter = 0;
for (i = 1; i < brokenString.length; i++) {
while (brokenString[counter] === brokenString[i]) {
//var eval("array" + counter) = new Array(brokenString[i])
var array = {
counter: brokenString[i]
}
counter++
}
}
console.log(array)
【问题讨论】:
-
我不认为
new Array(brokenString)做你认为它做的事。它创建一个包含一个元素的新数组,该元素是brokenString数组。 -
实际上,直到该行的所有内容都完全按照我的预期工作。这是我无法工作的循环。它从原始
string的每个字符中创建一个元素,并将其放入一个名为brokenString的数组中 -
没关系,现在我看到您没有将
new Array(brokenString)分配给任何东西。那条线的目的是什么?brokenString已经是一个数组,调用new Array()对它没有任何作用。 -
var array的目的是什么?您正在创建该对象,但没有对它做任何事情。 -
是的,我意识到
new Array(brokenString)没用。现在我也理解了你的第二条评论。谢谢你!
标签: javascript arrays oop compression