数组不能从变量中获取值

时间:2016-02-01 17:42:37

标签: javascript arrays

您好我尝试运行此代码,但我在页面上的所有这35个字段值“未定义”我尝试在屏幕上打印此字母

ar letters_tab = new Array(35);
var letters = "AĄBCĆDEĘFGHIJKLŁMNŃOÓPRSŚTUVWXYZŹŻ";
for(var i in letters)
{
     letters_tab.push[i];
}

3 个答案:

答案 0 :(得分:0)

您无法像演示一样使用for..in遍历字符串。

我不确定你想要完成什么,但这里有几个选择:

1。 String.prototype.split

如果您只是想将字符串放入字符数组中,则会执行以下操作:

var letters_tab = 'AĄBCĆDEĘFGHIJKLŁMNŃOÓPRSŚTUVWXYZŹŻ'.split('');

2。手动迭代

如果要手动迭代字符串以构造数组,也可以使用普通的旧for循环来执行此操作:

var letters_tab = []; // alternatively, new Array()
var letters = "AĄBCĆDEĘFGHIJKLŁMNŃOÓPRSŚTUVWXYZŹŻ";
for(var i = 0; i < letters.length; i++)
{
     letters_tab.push(letters[i]);
}

3。 for..of

您还可以在现代JavaScript环境中使用for..of循环迭代字符串:

var letters_tab = []; // alternatively, new Array()
for (var i of 'AĄBCĆDEĘFGHIJKLŁMNŃOÓPRSŚTUVWXYZŹŻ') {
    letters_tab.push(i);
}

答案 1 :(得分:0)

您可以手动浏览字符串并从中获取字符并将其放入数组中。

试试这个:

var letters_tab = new Array(35);
var letters = "AĄBCĆDEĘFGHIJKLŁMNŃOÓPRSŚTUVWXYZŹŻ";
for(var i=0; i < letters.length; i++)
{
    letters_tab[i] = letters.charAt(i);
}
alert(letters.letters_tab);

答案 2 :(得分:-1)

试试这个;

for (var letter in letters) {
    letters_tab.push(letters[letter]);
}

那是因为变量letter只是索引,而不是实际值。

您还可以使用.split方法。

var letters_tab = 'AĄBCĆDEĘFGHIJKLŁMNŃOÓPRSŚTUVWXYZŹŻ'.split('');