вывод строкового массива с числами

У меня нет опыта работы с javascript, и у меня есть основной вопрос о массивах. Кажется, я не могу найти его в Интернете.

Я использую такой базовый массив:

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

Вывод должен быть примерно таким:

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

И так далее. Я действительно борюсь с этим.

Я надеюсь, что кто-то может помочь мне с этим.

Заранее спасибо!


person user2911779    schedule 23.10.2013    source источник
comment
Для чего нужен вывод, вот в чем вопрос.   -  person Tomalak    schedule 23.10.2013


Ответы (2)


Это должно сработать, перебрать ключи, похожие на foreach, и получить их значения:

var names = new Array('Jorn', 'Janine', 'Peter', 'Magchiel', 'Marieke', 'Pieter');
var result = '';
for(var i in names){
    result += '[' + i + '] = ' + names[i] + ', ';
}
alert(result);
person Florian F.    schedule 23.10.2013
comment
Большое спасибо! Это сработало, я знал, что это что-то с foreach, но я не знал, как его использовать. - person user2911779; 23.10.2013
comment
На самом деле это плохое решение. Использование for .. in с массивами неверно. Используйте правильный цикл for, как в ответе ElliotM. - person Tomalak; 23.10.2013
comment
Это плохая идея, только если вы переписываете прототип массива, и даже тогда вы можете использовать что-то вроде names.hasOwnProperty(i), чтобы убедиться, что это настоящий элемент массива. Или вы что-то другое придумали? - person Florian F.; 23.10.2013

Это в основном создает строку для вывода через for-loop, а затем сообщает окнам о выводе необработанной строки.

var output="";
for(var i=0;i<names.length;i++){
output+="[" + i + "]" + " = " + names[i] + ", ";
}
output=output.slice(0,-2);
document.write(output);
person ElliotM    schedule 23.10.2013
comment
используйте str.slice(0,-1); для удаления последнего символа, не подстрока с отрицательными значениями , но я думаю, вам нужны последние 2 символа (а не только 1). Кстати, я использую подстроку для удаления первого символа, например str.substring(1); - person ajax333221; 23.10.2013
comment
на самом деле, моя ошибка, вы не использовали отрицательные значения, но в любом случае новый способ короче и работает с одним IE6+ - person ajax333221; 23.10.2013
comment
Я обычно использую срез, не знаю, почему я изначально использовал подстроку: S - person ElliotM; 23.10.2013