获取请求的JSON中的特定值索引

时间:2015-07-21 15:33:05

标签: jquery json

如何在我的结构中获取特定值的JSON索引?假设我想知道"year": 2080的索引,它等于索引1

{"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 个答案:

答案 0 :(得分: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;
    }
}