【问题标题】:Why for in loop returns string instead of my object? [duplicate]为什么 for in 循环返回字符串而不是我的对象? [复制]
【发布时间】:2019-04-17 20:31:31
【问题描述】:

我有嵌套对象:

var obj = {
    nestobj1:{
        title: "some 1 title",
        text: "some text"
    },
    nestobj2:{
        title: "some 2 title",
        text: "some text"
    }
}

我正在使用 for 循环

for ( let s in obj) {
    console.log(s);
}

控制台记录字符串:nestobj1 和nestobj2。为什么? 为什么它不返回/记录对象?为什么是字符串?请原谅我是 Javascript 的新手。

【问题讨论】:

  • for...in 循环将提取对象中的键,而不是对象中的值。要查看嵌套对象,请使用 obj[s]
  • for in documentation 应该可以帮助您自己回答这个问题

标签: javascript for-loop


【解决方案1】:

for...in 语句遍历对象的所有可枚举属性。

您执行此操作的方式仅获取对象的属性名称而没有其值。 如果要获取嵌套对象(值),则需要这样做:

for ( let s in obj) {
    console.log(obj[s]);
}

【讨论】:

    猜你喜欢
    • 2020-12-24
    • 1970-01-01
    • 1970-01-01
    • 2011-08-15
    • 2021-09-20
    • 2020-08-07
    • 2016-12-20
    • 2014-07-27
    • 2010-11-07
    相关资源
    最近更新 更多