You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不指定键名的情况下获取JavaScript嵌套对象的值

无需指定键名获取嵌套对象的值

这里有几种方法可以实现不用明确写"New York"就能拿到对应的值:

方法1:用Object.values()直接提取值

Object.values()会返回对象所有值组成的数组,因为你的内层对象只有一个值,直接取数组第一个元素即可:

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Objects</h2>
<p>Display object properties:</p>

<p id="demo"></p>

<script>
const person = {
  city: {"New York":3}
};

let txt = "";
for (let x in person) {
  txt += Object.values(person[x])[0] + " ";
};

document.getElementById("demo").innerHTML = txt;
</script>

</body>
</html>

方法2:嵌套for...in遍历内层对象

如果不确定内层对象有多少个键,可以再套一层循环遍历所有内层属性:

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Objects</h2>
<p>Display object properties:</p>

<p id="demo"></p>

<script>
const person = {
  city: {"New York":3}
};

let txt = "";
for (let x in person) {
  for (let key in person[x]) {
    txt += person[x][key] + " ";
  }
};

document.getElementById("demo").innerHTML = txt;
</script>

</body>
</html>

方法3:用Object.keys()获取内层键再取值

先获取内层对象的所有键,再取第一个键对应的值:

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Objects</h2>
<p>Display object properties:</p>

<p id="demo"></p>

<script>
const person = {
  city: {"New York":3}
};

let txt = "";
for (let x in person) {
  const innerKey = Object.keys(person[x])[0];
  txt += person[x][innerKey] + " ";
};

document.getElementById("demo").innerHTML = txt;
</script>

</body>
</html>

注:如果内层对象有多个键,方法1和方法3只会取第一个值,方法2会遍历输出所有值,可根据实际需求选择。

内容的提问来源于stack exchange,提问作者thefonso

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 17:12:41