调用数组

时间:2016-08-03 16:41:59

标签: arrays syntax

我正在学习,但我很难找到正确的语法来获取一个非常密集的数组中的元素。这是一个片段:

var data = {
    "presidents": {
        "date": "2014-11-03",
        "president": [
            {
                "number": 1,
                "name": "George Washington",
                "date": "1732-02-22",
                "took_office": "1789-04-30",
                "left_office": "1797-03-04",
                "party": "no party",
                "term": [
                    {
                        "number": 1,
                        "vice_president": "John Adams"
                    },
                    {
                        "number": 2,
                        "vice_president": "John Adams"
                    }
                ]
            },
            {
                "number": 2,
                "name": "John Adams",
                "date": "1735-10-30",
                "took_office": "1797-03-04",
                "left_office": "1801-03-04",
                "party": "Federalist",
                "term": {
                    "number": 3,
                    "vice_president": "Thomas Jefferson"
                }
            }.....

因此,如果我想通过总统的名字搜索这个,我首先想要了解如何分配单个元素。我的第一个想法是:

x= president.presidents[1].name

但这不正确。这个语法怎么样?谢谢,正如我所说,我还在学习。

2 个答案:

答案 0 :(得分:1)

data是一个包含名为presidents的字段的对象。哪个是复数 - 让我觉得它应该是一系列总统。不是。它是一个 对象 ,其中包含一个名为president的字段(是一个数组?? )。 president[]是一个包含名为name的字段的对象。

x = data.presidents.president [0] .name

答案 1 :(得分:0)

我的假设是你会用JS处理这个,所以可以这样做

$.each(data.presidents, function(indd,obj){
    if(indd == "president"){
      $.each(obj , function(i,val){
         console.log(i+"---"+val['name'])
    })}
})

您可以查看here