Bagaimana cara melihat struktur array dalam JavaScript menggunakan alert()?
console.debugakan bekerja lebih baik.
Bagaimana cara melihat struktur array dalam JavaScript menggunakan alert()?
console.debugakan bekerja lebih baik.
Jawaban:
Pendekatan yang paling mendasar adalah alert(arrayObj.join('\n')), yang akan menampilkan setiap elemen array dalam satu baris.
alert(myArray.join('\n'));
EDIT: Firefox dan Google Chrome sekarang memiliki JSONobjek bawaan, jadi Anda bisa mengatakannya alert(JSON.stringify(myArray))tanpa perlu menggunakan plugin jQuery. Ini bukan bagian dari spesifikasi bahasa Javascript, jadi Anda tidak boleh bergantung pada JSONobjek yang ada di semua browser, tetapi untuk tujuan debugging, ini sangat berguna.
Saya cenderung menggunakan plugin jQuery-json sebagai berikut:
alert( $.toJSON(myArray) );
Ini mencetak array dalam format seperti
[5, 6, 7, 11]
Namun, untuk men-debug kode Javascript Anda, saya sangat merekomendasikan Firebug. Ini sebenarnya dilengkapi dengan konsol Javascript, sehingga Anda dapat mengetikkan kode Javascript untuk halaman manapun dan melihat hasilnya. Hal-hal seperti array sudah dicetak dalam bentuk yang dapat dibaca manusia yang digunakan di atas.
Firebug juga memiliki debugger, serta layar untuk membantu Anda melihat dan men-debug HTML dan CSS Anda.
lewati array js Anda ke fungsi di bawah ini dan itu akan melakukan hal yang sama seperti fungsi 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;
}
Kamu bisa memakai alert(arrayObj.toSource());
Jika ini untuk tujuan debugging, saya sarankan Anda menggunakan debugger JavaScript seperti Firebug . Ini akan memungkinkan Anda melihat seluruh konten array dan banyak lagi, termasuk memodifikasi entri array dan menelusuri kode.
Jika yang Anda inginkan adalah menampilkan dengan alert () isi dari sebuah array objek, saya merekomendasikan Anda untuk mendefinisikan di objek metode toString () jadi dengan sebuah alert sederhana (MyArray); konten lengkap dari array akan ditampilkan dalam peringatan.
Berikut ini contohnya:
//-------------------------------------------------------------------
// 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 + ") ";
};
}
Kemudian jika Anda memiliki array poin:
var MyArray = [];
MyArray.push ( new Point(5,6) );
MyArray.push ( new Point(7,9) );
Anda dapat mencetak hanya dengan menelepon:
alert(MyArray);
Semoga ini membantu!
Anda dapat menulis fungsi yang akan mengubah dan memformat array ini sebagai string. Bahkan lebih baik: gunakan FireBug untuk debugging daripada peringatan.
Untuk tujuan keterbacaan, Anda dapat menggunakan:
alert(JSON.stringify(someArrayOrObj, '', 2));
Selengkapnya tentang JSON.stringify () .
Contoh:
let user = {
name: "John",
age: 30,
roles: {
isAdmin: false,
isEditor: true
}
};
alert(JSON.stringify(user, "", 2));
/* Result:
{
"name": "John",
"age": 30,
"roles": {
"isAdmin": false,
"isEditor": true
}
}
*/
alert($("#form_id").serialize());
javascriptyang mengatakan "Kecuali jika tag untuk kerangka kerja / pustaka juga disertakan, jawaban JavaScript murni diharapkan". Bahkan jika bukan itu masalahnya ... pertanyaannya adalah menanyakan tentang array, bukan bentuk HTML.
console.log- ini bagus untuk introspeksi objek JavaScript.