如何在我的结构中获取特定值的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
});
});
答案 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;
}
}