2013-10-23 40 views
0

我没有任何JavaScript经验,我有一个关于数组的基本问题。我似乎无法在互联网上找到它。带数字的字符串数组输出

我使用的基本排列是这样的:

var names = new Array('Jorn', 'Janine', 'Peter', 'Magchiel', 'Marieke', 'Pieter'); 

的输出要求是这样的:

[0] = Jorn, [1] = Janine, [2] = Peter, ... 

等。我真的很为此苦苦挣扎。

我希望有人能帮助我。

在此先感谢!

+0

你需要输出什么的,是个问题。 – Tomalak

回答

-1

这应该工作,遍历键“的foreach状”,并得到他们的价值观:

var names = new Array('Jorn', 'Janine', 'Peter', 'Magchiel', 'Marieke', 'Pieter'); 
var result = ''; 
for(var i in names){ 
    result += '[' + i + '] = ' + names[i] + ', '; 
} 
alert(result); 
+0

非常感谢!这工作,我知道这是一个foreach的东西,但我不知道如何使用它。 – user2911779

+2

其实这是一个不好的解决方案。在数组中使用'for .. in'是错误的。像ElliotM的回答中那样使用适当的for循环。 – Tomalak

+0

只有在重写数组原型时,这是一个糟糕的主意,即使如此,你也可以使用'names.hasOwnProperty(i)'这样的东西来确保它是一个实际的数组元素。或者你有其他想法吗? –

1

这基本上是通过for-loop建立一个输出字符串,然后告诉窗口输出原始字符串。

var output=""; 
for(var i=0;i<names.length;i++){ 
output+="[" + i + "]" + " = " + names[i] + ", "; 
} 
output=output.slice(0,-2); 
document.write(output); 
+1

使用'str.slice(0,-1);'删除最后一个字符,[不带有负值的子字符串](http://stackoverflow.com/questions/6918943/substr-with-negative-value-not-working即在),但我想你想要最后2个字符(不只是1)。在附注中,我确实使用子字符串来删除第一个字符,如'str.substring(1);' – ajax333221

+0

我明白了,谢谢您的更正。 – ElliotM

+0

实际上,我的错误,你没有使用负值,但无论如何,新的方式是更短的和工作一个IE6 + – ajax333221