2015-07-21 82 views
1

如何獲取我的結構中特定值的JSON索引?比方說,我想知道的"year": 2080指數這將等於索引1在請求的JSON中獲取特定值的索引

{"elements":[ 
    { 
     "year": 1971, 
    }, 
    { 
     "year": 2080, 
    }, 
    { 
     "year": 3060, 
    } 
]} 

林請求像這樣:

var jsonUrl = "myurl.json"; 
$.getJSON(jsonUrl, { 
    format: "json" 
}) 
.done(function(data) { 
    $.each(data, function (index, item) { 
     //traverse through JSON 
    }); 
}); 

回答

1

退房Array.prototype.findIndex()

var idx = data.elements.findIndex(function(el) { 
    return el.year === 2080; 
}); 

請注意,這是一個ES6 +方法,所以它在舊版瀏覽器中默認不可用。然而,這對polyfill來說是微不足道的。

或者,你可以踢它老學校:

var idx = -1; 

for (var i = 0, len = data.elements.length; i < len; i++) { 
    if (data.elements[i].year === 2080) { 
     idx = i; 
     break; 
    } 
}