【问题标题】:Get a list of objects at each nested level [duplicate]获取每个嵌套级别的对象列表[重复]
【发布时间】:2017-10-19 07:31:40
【问题描述】:
{
    "John Doe": {
        "Age": 18,
        "Gender": "M"
    },
    "Jane Doe": {
        "Age": 16,
        "Gender": "F"
    },
    "Steve Appleseed":{
        "Age": 21,
        "Gender": "M"
    }
}

使用 JavaScript,如何获取数组

var names = ["John Doe", "Jane Doe", "Steve Appleseed"];

如果有帮助,我将 Firebase 与 JavaScript 和 jQuery PWA 一起使用,我需要一个嵌套特定级别的所有对象名称的列表。

【问题讨论】:

  • 那么稍后,为了得到约翰的年龄,我会使用:json[names[0]]["Age"]; json 是根对象的名称。

标签: javascript jquery json firebase firebase-realtime-database


【解决方案1】:

首先请注意,这与 JSON 无关。你所拥有的是一个对象。因此Object.keys 将满足您的要求:

var obj = {
  "John Doe": {
    "Age": 18,
    "Gender": "M"
  },
  "Jane Doe": {
    "Age": 16,
    "Gender": "F"
  },
  "Steve Appleseed": {
    "Age": 21,
    "Gender": "M"
  }
}

var keys = Object.keys(obj);
console.log(keys);

console.log(obj[keys[0]]["Age"]); // John Doe's age

【讨论】:

  • 您在 obj 初始化时缺少分号。应该是var obj = {...};
【解决方案2】:

你可以使用Object.keys(obj)

更多详情可以看here

var obj = {
    "John Doe": {
        "Age": 18,
        "Gender": "M"
    },
    "Jane Doe": {
        "Age": 16,
        "Gender": "F"
    },
    "Steve Appleseed":{
        "Age": 21,
        "Gender": "M"
    }
};

var result = Object.keys(obj);

console.log(result);

【讨论】:

    【解决方案3】:

    试试这个

    var obj = {
        "John Doe": {
            "Age": 18,
            "Gender": "M"
        },
        "Jane Doe": {
            "Age": 16,
            "Gender": "F"
        },
        "Steve Appleseed":{
            "Age": 21,
            "Gender": "M"
        }
    }
    
        console.log(Object.keys(obj))
    

    【讨论】:

      【解决方案4】:

      您可以使用object.keys(); 更多信息可以查看https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

      t = {
          "John Doe": {
              "Age": 18,
              "Gender": "M"
          },
          "Jane Doe": {
              "Age": 16,
              "Gender": "F"
          },
          "Steve Appleseed":{
              "Age": 21,
              "Gender": "M"
          }
      }
      
      Object.keys(t);

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-10-28
        • 1970-01-01
        • 1970-01-01
        • 2021-10-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多