Làm cách nào để xem cấu trúc của một mảng trong JavaScript bằng cách sử dụng alert()?
console.debugthực sự sẽ hoạt động tốt hơn.
Làm cách nào để xem cấu trúc của một mảng trong JavaScript bằng cách sử dụng alert()?
console.debugthực sự sẽ hoạt động tốt hơn.
Câu trả lời:
Một cách tiếp cận rất cơ bản là alert(arrayObj.join('\n')), sẽ hiển thị từng phần tử mảng trong một hàng.
alert(myArray.join('\n'));
CHỈNH SỬA: Firefox và Google Chrome hiện có một JSONđối tượng tích hợp sẵn, vì vậy bạn có thể nói alert(JSON.stringify(myArray))mà không cần sử dụng plugin jQuery. Đây không phải là một phần của đặc tả ngôn ngữ Javascript, vì vậy bạn không nên dựa vàoJSON đối tượng hiện diện trong tất cả các trình duyệt, nhưng đối với mục đích gỡ lỗi, nó cực kỳ hữu ích.
Tôi có xu hướng sử dụng plugin jQuery-json như sau:
alert( $.toJSON(myArray) );
Điều này in mảng ở định dạng như
[5, 6, 7, 11]
Tuy nhiên, để gỡ lỗi mã Javascript của bạn, tôi đánh giá cao đề nghị Firebug Nó thực sự đi kèm với một bảng điều khiển Javascript, vì vậy bạn có thể gõ ra mã Javascript cho bất kỳ trang nào và xem kết quả. Những thứ như mảng đã được in ở dạng con người có thể đọc được được sử dụng ở trên.
Firebug cũng có một trình gỡ lỗi, cũng như các màn hình để giúp bạn xem và gỡ lỗi HTML và CSS của mình.
chuyển mảng js của bạn vào hàm bên dưới và nó sẽ hoạt động tương tự như hàm 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;
}
Bạn có thể dùng alert(arrayObj.toSource());
Nếu điều này dành cho mục đích gỡ lỗi, tôi khuyên bạn nên sử dụng trình gỡ lỗi JavaScript như Firebug . Nó sẽ cho phép bạn xem toàn bộ nội dung của mảng và hơn thế nữa, bao gồm cả việc sửa đổi các mục nhập mảng và chuyển qua mã.
Nếu những gì bạn muốn là hiển thị nội dung của một mảng đối tượng với một alert (), tôi khuyên bạn nên xác định trong đối tượng phương thức toString () như vậy với một cảnh báo đơn giản (MyArray); nội dung đầy đủ của mảng sẽ được hiển thị trong cảnh báo.
Đây là một ví dụ:
//-------------------------------------------------------------------
// 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 + ") ";
};
}
Sau đó, nếu bạn có một mảng các điểm:
var MyArray = [];
MyArray.push ( new Point(5,6) );
MyArray.push ( new Point(7,9) );
Bạn có thể in chỉ cần gọi:
alert(MyArray);
Hi vọng điêu nay co ich!
Bạn có thể viết một hàm sẽ chuyển đổi và định dạng mảng này dưới dạng chuỗi. Tốt hơn nữa: sử dụng FireBug để gỡ lỗi thay vì cảnh báo.
Đối với mục đích dễ đọc, bạn có thể sử dụng:
alert(JSON.stringify(someArrayOrObj, '', 2));
Tìm hiểu thêm về JSON.stringify () .
Thí dụ:
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());
javascriptcó nội dung "Trừ khi một thẻ cho khung / thư viện cũng được bao gồm, câu trả lời thuần JavaScript được mong đợi". Ngay cả khi đó không phải là trường hợp… câu hỏi đang hỏi về một mảng, không phải một biểu mẫu HTML.
console.log- nó rất tốt để xem xét nội tâm các đối tượng JavaScript.