在json_encode输出中获取最后2个数据

Get final 2 data in json_encode output

本文关键字:获取 最后 2个 数据 输出 json encode      更新时间:2023-09-26

我带来json_encode数据。输出如下

[{"ab":"item1"},{"ab":"item2"},{"ab":"item3"},{"tg":"int1"},{"int":"int2"}]

我以的形式获取数据

$.post('add.php',
    { },
    function(data){ 
       var tot = data.length-2;
       for(i = 1; i<tot; i++){
           console.log( data[i].ab ) //ab data fetched here
       }
    }
);

我的问题是,如何获得最后2个数据(在上面的示例中称为int1int2(?

NOte:数据长度随的变化而变化

试试这个:

var lastTwo = data.slice(data.length - 2);

Fiddle

如果您不知道这些对象的

for (var i = 0; i < lastTwo.length; i++)
{
    var a = Object.keys(lastTwo[i]);
    var value = lastTwo[i][a[0]];
}

Fiddle

您可以使用pop两次,以获得最后两项。

var data = [{"ab":"item1"},{"ab":"item2"},{"ab":"item3"},{"tg":"int1"},{"int":"int2"}];
var last = data.pop(),
    secondLast = data.pop();
// As keys of the object are not fixed, use Object.keys
var lastItem = last[Object.keys(last)[0]];
var secondLastItem = secondLast[Object.keys(secondLast)[0]];

DEMO