Chrome konsolunda tam nesne nasıl gösterilir?


Yanıtlar:


245

Kullanım console.dir()bir göz atma mümkün nesne yerine tıklayabilir çıkışına .toString()böyle sürümü,:

console.dir(functor);

Belirtilen nesnenin JavaScript temsilini yazdırır. Günlüğe kaydedilen nesne bir HTML öğesiyse, DOM temsilinin özellikleri yazdırılır [1]


[1] https://developers.google.com/web/tools/chrome-devtools/debug/console/console-reference#dir


1
Yalnızca varNameChrome konsolunda yazdırmanın ve Enter tuşuna basmanın aynı etkiyi sağladığı unutulmamalıdır console.dir(varName).
Vadzim

118

Denerseniz daha iyi sonuçlar alabilirsiniz:

console.log(JSON.stringify(functor));

Bu cevap harika ama yukarıdaki örnekle çalışmıyor, yeni bir sekmede çalıştı ve undefined döndürür
aitorllj93

1
Bu cevaba gereken tüm saygıyla, sonuçta, sorunun burada olduğu gibi, konsolda "göz atılabilir" bir nesneyi değil, nesneyi temsil eden bir dize döndürür. Doğru, bu çıkış dizesini JSON.parse üzerinden çalıştırırsanız, nesne biçimine geri döner, ancak konsol yine de bir ".toString ()" gösterir ve kareye geri döneriz. Burada "console.dir" kullanımı ile cevap, eldeki soru için en uygun çözümdür.
TheCuBeMan

21

Aşağıdakileri denerseniz daha da iyi sonuçlar alabilirsiniz:

console.log(JSON.stringify(obj, null, 4));

Bu yanıt, çıktıyı biçimlendirerek @ BastiBen's üzerinde gelişir.
Xeoncross

12
var gandalf = {
  "real name": "Gandalf",
  "age (est)": 11000,
  "race": "Maia",
  "haveRetirementPlan": true,
  "aliases": [
    "Greyhame",
    "Stormcrow",
    "Mithrandir",
    "Gandalf the Grey",
    "Gandalf the White"
  ]
};
//to console log object, we cannot use console.log("Object gandalf: " + gandalf);
console.log("Object gandalf: ");
//this will show object gandalf ONLY in Google Chrome NOT in IE
console.log(gandalf);
//this will show object gandalf IN ALL BROWSERS!
console.log(JSON.stringify(gandalf));
//this will show object gandalf IN ALL BROWSERS! with beautiful indent
console.log(JSON.stringify(gandalf, null, 4));

8

bu benim için mükemmel çalıştı:

for(a in array)console.log(array[a])

bu verinin temizlenmesi ve posterior kullanımı için konsolda oluşturulan herhangi bir diziyi ayıklayabilirsiniz


3
biraz daha ayrıntılı:for (i in arr) { console.log(i); console.log(arr[i]); }
Geo

numaralandırılamayan özellikler ve yöntemler çıkarmaz
Barbu Barbu

0

Konsola bir şeyler rahatça basabilmek için bir fonksiyon yazdım.

// function for debugging stuff
function print(...x) {
    console.log(JSON.stringify(x,null,4));
}

// how to call it
let obj = { a: 1, b: [2,3] };
print('hello',123,obj);

konsolda çıktı alacak:

[
    "hello",
    123,
    {
        "a": 1,
        "b": [
            2,
            3
        ]
    }
]

0

Modern tarayıcılar ile console.log(functor)mükemmel çalışır (aynı davranır a console.dir).


0

Trident D'Gao cevabının bir işlevini yaptım.

function print(obj) {
  console.log(JSON.stringify(obj, null, 4));
}

Bu nasıl kullanılır

print(obj);

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.