如何以字符串格式显示JavaScript对象的内容,就像我们警告变量时一样?

与显示对象的格式相同。


当前回答

var list = function(object) {
   for(var key in object) {
     console.log(key);
   }
}

其中object是您的对象

或者您可以在chrome开发工具的“控制台”选项卡中使用此选项:

console.log(对象);

其他回答

console.dir(对象):

显示指定JavaScript对象的财产的交互式列表。此列表允许您使用公开三角形来检查子对象的内容。

请注意,console.dir()特性是非标准的。查看MDN Web文档

使用此项:

console.log('print object: ' + JSON.stringify(session));

我在项目中总是使用一个小助手函数,通过控制台进行简单、快速的调试。灵感来自拉雅维尔。

/**
 * @param variable mixed  The var to log to the console
 * @param varName string  Optional, will appear as a label before the var
 */
function dd(variable, varName) {
    var varNameOutput;

    varName = varName || '';
    varNameOutput = varName ? varName + ':' : '';

    console.warn(varNameOutput, variable, ' (' + (typeof variable) + ')');
}

用法

日(123.55);输出:

var obj = {field1: 'xyz', field2: 2016};
dd(obj, 'My Cool Obj'); 

如果希望以表格格式查看数据,可以使用:

console.table(obj);

如果单击表列,可以对表进行排序。

您还可以选择要显示的列:

console.table(obj, ['firstName', 'lastName']);

您可以在此处找到有关console.table的更多信息

这是函数。

function printObj(obj) {
console.log((function traverse(tab, obj) {
    let str = "";
    if(typeof obj !== 'object') {
        return obj + ',';
    }
    if(Array.isArray(obj)) {            
        return '[' + obj.map(o=>JSON.stringify(o)).join(',') + ']' + ',';
    }
    str = str + '{\n';
    for(var p in obj) {
        str = str + tab + ' ' + p + ' : ' + traverse(tab+' ', obj[p]) +'\n';
    }
    str = str.slice(0,-2) + str.slice(-1);                
    str = str + tab + '},';
    return str;
}('',obj).slice(0,-1)))};

它可以使用具有可读性的制表符缩进来显示对象。