我想迭代json来获取最后一个元素。我试图找到json长度,但长度显示296个东西。有些东西我不知道..要迭代。
迭代 Json 并获取最后一个元素id: 005 and text: GHI
。我试图这样做。
JQuery
var json= ( JSON.stringify($(target).select2('data')) );
alert(selections.length);
$.each($.parseJSON(json), function(key,value){
var id = this.id;
var text = this.text;
console.log(id +" "+text);
});
JSON
[
{
"id": "001",
"text": "DEF",
"element": [
{
}
],
"disabled": false,
"locked": false
},
{
"id": "002",
"text": "JKL",
"element": [
{
}
],
"disabled": false,
"locked": false
},
{
"id": "003",
"text": "MNO",
"element": [
{
}
],
"disabled": false,
"locked": false
},
{
"id": "004",
"text": "ABC",
"element": [
{
}
],
"disabled": false,
"locked": false
},
{
"id": "005",
"text": "GHI",
"element": [
{
}
],
"disabled": false,
"locked": false
}
]
答案 0 :(得分:2)
您正在处理Javascript数组。使用length来获取最后一个索引确实有效:
var json = JSON.stringify( $(target).select2('data') );
var lastObject = json[json.length - 1];
var id = lastObject.id;
var text = lastObject.text;
console.log( id + " " + text );
请记住,索引从0开始,因此您必须从长度中减去1才能获得所需的索引。
答案 1 :(得分:2)
varName.length-1
到达数组中的最后一个元素var json = [{
"id": "001",
"text": "DEF",
"element": [{
}],
"disabled": false,
"locked": false
}, {
"id": "002",
"text": "JKL",
"element": [{
}],
"disabled": false,
"locked": false
}, {
"id": "003",
"text": "MNO",
"element": [{
}],
"disabled": false,
"locked": false
}, {
"id": "004",
"text": "ABC",
"element": [{
}],
"disabled": false,
"locked": false
}, {
"id": "005",
"text": "GHI",
"element": [{
}],
"disabled": false,
"locked": false
}];
var $last = json[json.length - 1];
alert($last.id);
alert($last.text);
答案 2 :(得分:-1)
var h = [
{
"id": "001",
"text": "DEF",
"element": [
{
}
],
"disabled": false,
"locked": false
},
{
"id": "002",
"text": "JKL",
"element": [
{
}
],
"disabled": false,
"locked": false
},
{
"id": "003",
"text": "MNO",
"element": [
{
}
],
"disabled": false,
"locked": false
},
{
"id": "004",
"text": "ABC",
"element": [
{
}
],
"disabled": false,
"locked": false
},
{
"id": "005",
"text": "GHI",
"element": [
{
}
],
"disabled": false,
"locked": false
}
];
var len = h.length;
console.log(len); //prints 5
console.log(h[len-1].id); //prints 005
console.log(h[len-1].text); //prints GHI