Подтвердить что ты не робот

Как просмотреть структуру массива в JavaScript с помощью alert()?

Как я могу просмотреть структуру массива в JavaScript с помощью alert()?

4b9b3361

Ответ 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());