📜  如何 console.log 嵌套对象 js - Javascript (1)

📅  最后修改于: 2023-12-03 15:08:12.276000             🧑  作者: Mango

如何 console.log 嵌套对象 js - Javascript

在 Javascript 中,我们经常需要处理嵌套对象。当你需要打印一个嵌套对象时,你可能会遇到一些问题。本文将介绍如何在 console.log 中打印嵌套对象。

打印嵌套对象

首先,我们将创建一个嵌套对象,该对象包含两个属性:一个字符串属性和一个包含三个属性的内部对象。

const myObj = {
  name: "John",
  innerObj: {
    age: 30,
    location: "USA",
    phone: {
      home: "123-456-7890",
      work: "111-222-3333",
      mobile: "555-666-7777"
    }
  }
};

现在,我们将打印该对象。

console.log(myObj);

这将输出以下内容:

{
  name: "John",
  innerObj: {
    age: 30,
    location: "USA",
    phone: {
      home: "123-456-7890",
      work: "111-222-3333",
      mobile: "555-666-7777"
    }
  }
};

这是一个非常好的起点,但有时这种输出可能过于冗长或难以阅读。我们可以使用以下技巧来打印嵌套对象。

格式化对象

我们可以使用 JSON.stringify() 方法将对象格式化为字符串,并使其易于阅读。

console.log(JSON.stringify(myObj, null, 2));

这将输出以下内容:

{
  "name": "John",
  "innerObj": {
    "age": 30,
    "location": "USA",
    "phone": {
      "home": "123-456-7890",
      "work": "111-222-3333",
      "mobile": "555-666-7777"
    }
  }
}

参数解释:

  • myObj:要格式化为字符串的对象
  • null:转换函数(我们不需要定义自定义函数)
  • 2:缩进空格数(这里我们使用 2 个缩进字符)

我们还可以使用 ES6 的解构语法来缩短字符串。

console.log(JSON.stringify(myObj, null, "  "));

这将输出以下内容:

{
  "name": "John",
  "innerObj": {
    "age": 30,
    "location": "USA",
    "phone": {
      "home": "123-456-7890",
      "work": "111-222-3333",
      "mobile": "555-666-7777"
    }
  }
}

现在我们可以清晰地看到该对象的结构和值。

打印内部对象

如果我们只想打印对象的内部属性,则可以使用点符号来访问它们。

console.log(myObj.innerObj.phone);

这将输出以下内容:

{
  home: "123-456-7890",
  work: "111-222-3333",
  mobile: "555-666-7777"
}

同样,我们可以使用 JSON.stringify() 方法来格式化输出。

console.log(JSON.stringify(myObj.innerObj.phone, null, 2));

这将输出以下内容:

{
  "home": "123-456-7890",
  "work": "111-222-3333",
  "mobile": "555-666-7777"
}
结论

使用以上技巧,你可以轻松地在 console.log 中打印嵌套对象。这对于调试和开发非常有用。