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

时间:2015-07-03 11:31:38

标签: javascript jquery json

我带了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:数据长度不同

2 个答案:

答案 0 :(得分:1)

试试这个:

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

答案 1 :(得分:1)

您可以使用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