JavaScript'te bir dizinin yapısını kullanarak nasıl görüntüleyebilirim alert()?
console.debugaslında daha iyi çalışır.
JavaScript'te bir dizinin yapısını kullanarak nasıl görüntüleyebilirim alert()?
console.debugaslında daha iyi çalışır.
Yanıtlar:
Çok basit bir yaklaşım, alert(arrayObj.join('\n'))her dizi elemanını arka arkaya görüntüleyecek olmasıdır.
alert(myArray.join('\n'));
DÜZENLEME: Firefox ve Google Chrome artık yerleşik bir JSONnesneye sahip, böylece alert(JSON.stringify(myArray))bir jQuery eklentisi kullanmanıza gerek kalmadan söyleyebilirsiniz . Bu, Javascript dil spesifikasyonunun bir parçası değildir, bu nedenle JSONtüm tarayıcılarda mevcut olan nesneye güvenmemelisiniz , ancak hata ayıklama amacıyla inanılmaz derecede yararlıdır.
JQuery-json eklentisini aşağıdaki gibi kullanma eğilimindeyim :
alert( $.toJSON(myArray) );
Bu, diziyi şu şekilde yazdırır:
[5, 6, 7, 11]
Ancak, JavaScript kod hata ayıklama için ben son derece tavsiye Kundakçı Eğer herhangi bir sayfa için JavaScript kodunu yazıp sonuçları görebilmeniz için, Aslında bir JavaScript konsolu ile birlikte gelir. Diziler gibi şeyler zaten yukarıda kullanılan insan tarafından okunabilir biçimde basılmıştır.
Firebug ayrıca bir hata ayıklayıcının yanı sıra HTML ve CSS'nizi görüntülemenize ve hata ayıklamanıza yardımcı olacak ekranlara sahiptir.
js dizinizi aşağıdaki işleve geçirin ve php print_r () işlevi ile aynı şeyi yapacaktı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;
}
Kullanabilirsiniz alert(arrayObj.toSource());
Bu, hata ayıklama amaçlıysa, Firebug gibi bir JavaScript hata ayıklayıcı kullanmanızı tavsiye ederim . Dizi girişlerini değiştirmek ve kodda ilerlemek dahil dizilerin tüm içeriğini ve daha fazlasını görüntülemenizi sağlar.
İstediğiniz şey bir uyarı () nesneler dizisinin içeriğini göstermekse, nesnede toString () yöntemini basit bir uyarı (MyArray) ile tanımlamanızı tavsiye ederim; dizinin tam içeriği uyarıda gösterilecektir.
İşte bir örnek:
//-------------------------------------------------------------------
// 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 + ") ";
};
}
O zaman bir dizi puanınız varsa:
var MyArray = [];
MyArray.push ( new Point(5,6) );
MyArray.push ( new Point(7,9) );
Sadece arayarak yazdırabilirsiniz:
alert(MyArray);
Bu yardımcı olur umarım!
Bu diziyi dizge olarak dönüştürecek ve biçimlendirecek bir işlev yazabilirsiniz. Daha da iyisi: hata ayıklama için uyarılar yerine FireBug kullanın .
Okunabilirlik amacıyla şunları kullanabilirsiniz:
alert(JSON.stringify(someArrayOrObj, '', 2));
JSON.stringify () hakkında daha fazla bilgi .
Misal:
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
}
}
*/
console.log- JavaScript nesnelerinin iç gözlemi için harikadır.