我有 JSON 数据,我需要相同类型 obj 值中的最后一个 obj 值。
我想获取 Foo 值 Bar 的最后一个索引。
我知道如何获取 json 数组的最后一个索引。
var data = [{
"foo": "bar"
},
{
"foo": "bar-1"
},
{
"foo": "bar-2"
},
{
"foo": "bar-1"
},
{
"foo": "bar"
},
{
"foo": "bar-1"
},
]
$.each(data, function(key, val) {
if (val.foo == "bar") {
console.log(key);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
最佳答案
您可以使用reduce()
,当找到元素时,将累加器值设置为该元素的索引。因此将返回找到的最后一个元素的索引。
var data = [{"foo":"bar"},{"foo":"bar-1"},{"foo":"bar-2"},{"foo":"bar-1"},{"foo":"bar"},{"foo":"bar-1"}]
var lastIndex = data.reduce(function(r, e, i) {
if(e.foo == 'bar') r = i
return r;
}, null)
console.log(lastIndex)
关于javascript - 使用 jquery 获取 json 中相同类型的最后一个 obj 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42581895/