Как я могу просмотреть структуру массива в JavaScript с помощью alert()
?
Как просмотреть структуру массива в JavaScript с помощью alert()?
Ответ 1
Самый простой подход - alert(arrayObj.join('\n'))
, который отображает каждый элемент массива в строке.
Ответ 2
EDIT: Теперь Firefox и Google Chrome имеют встроенный объект JSON
, поэтому вы можете просто сказать alert(JSON.stringify(myArray))
, не используя плагин jQuery. Это не является частью спецификации языка JavaScript, поэтому вы не должны полагаться на объект JSON
, присутствующий во всех браузерах, но для целей отладки это невероятно полезно.
Я обычно использую jQuery-json плагин следующим образом:
alert( $.toJSON(myArray) );
Это печатает массив в формате, например
[5, 6, 7, 11]
Однако для отладки вашего кода Javascript я высоко рекомендую Firebug На самом деле он поставляется с консолью Javascript, поэтому вы можете ввести код Javascript для любой страницы и посмотреть результаты. Такие вещи, как массивы, уже напечатаны в форме для чтения, используемой выше.
Firebug также имеет отладчик, а также экраны, помогающие вам просматривать и отлаживать ваши HTML и CSS.
Ответ 3
передайте ваш массив js функции ниже, и он будет делать то же самое, что и функция php print_r()
alert(print_r(your array)); //call it like this
function print_r(arr,level) {
var dumped_text = "";
if(!level) level = 0;
//The padding given at the beginning of the line.
var level_padding = "";
for(var j=0;j<level+1;j++) level_padding += " ";
if(typeof(arr) == 'object') { //Array/Hashes/Objects
for(var item in arr) {
var value = arr[item];
if(typeof(value) == 'object') { //If it is an array,
dumped_text += level_padding + "'" + item + "' ...\n";
dumped_text += print_r(value,level+1);
} else {
dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
}
}
} else { //Stings/Chars/Numbers etc.
dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
}
return dumped_text;
}
Ответ 4
Вы можете использовать alert(arrayObj.toSource());
Ответ 5
Я бы рекомендовал использовать toString().
Ex. alert(array.toString())
, или console.log(array.toString())
Ответ 6
Если это для целей отладки, я бы посоветовал использовать отладчик JavaScript, например Firebug. Он позволит вам просматривать все содержимое массивов и многое другое, включая изменение записей в массиве и переход по коду.
Ответ 7
Если вы хотите показать с предупреждением() содержимое массива объектов, я рекомендую вам определить в объекте метод toString(), с помощью простого предупреждения (MyArray); полное содержимое массива будет показано в сообщении.
Вот пример:
//-------------------------------------------------------------------
// Defininf the Point object
function Point(CoordenadaX, CoordenadaY) {
// Sets the point coordinates depending on the parameters defined
switch (arguments.length) {
case 0:
this.x = null;
this.y = null;
break;
case 1:
this.x = CoordenadaX;
this.y = null;
break;
case 2:
this.x = CoordenadaX;
this.y = CoordenadaY;
break;
}
// This adds the toString Method to the point object so the
// point can be printed using alert();
this.toString = function() {
return " (" + this.x + "," + this.y + ") ";
};
}
Тогда, если у вас есть массив точек:
var MyArray = [];
MyArray.push ( new Point(5,6) );
MyArray.push ( new Point(7,9) );
Вы можете распечатать просто вызов:
alert(MyArray);
Надеюсь, это поможет!
Ответ 8
Вы можете написать функцию, которая будет преобразовывать и форматировать этот массив в виде строки. Еще лучше: используйте FireBug для отладки вместо предупреждений.
Ответ 9
Лучше использовать Firebug (консоль хром и т.д.) и использовать console.dir()
Ответ 10
alert($("#form_id").serialize());