我有一个定义的对象“数据”:
MYLIST
61:
ALREADY_EXIST: 1
ARCHIVE: 0
CODE_UNIT: "F.5"
GROUP_TYPE: "Group"
ID: 61
SG_CODE: "ABCD00"
62:
ALREADY_EXIST: 0
ARCHIVE: 0
CODE_UNIT: "D.1"
GROUP_TYPE: "Sub-Group"
ID: 62
SG_CODE: "ABCD11"
86:
ALREADY_EXIST: 1
ARCHIVE: 0
CODE_UNIT: "B.1"
GROUP_TYPE: "Group"
ID: 61
SG_CODE: "ABC235"
99:
ALREADY_EXIST: 0
ARCHIVE: 0
CODE_UNIT: "A.2"
GROUP_TYPE: "Group"
ID: 62
SG_CODE: "ABCD11"
SUBJECT_CODE_NUMBER: 4
我正在尝试解析此对象以显示前一个值和下一个值之后的值。
我想检索变量中的下一个和上一个元素,我该怎么做?
$.each(data.MYLIST,function(k,v){
alert(v); //OK
console.log(data.MYLIST[k].SG_CODE); //OK
console.log(????); // FOR THE NEXT VALUE
console.log(????); // FOR THE PREVIOUS VALUE
});
在 Mylist 中 k 不是连续值。 k+1 不强制以下 k 值。例如,您有第 62 项,后面的项是 86。
因此我无法使用:
var next = data.EXPERT_GROUP[k+1].SG_CODE
var previous= data.EXPERT_GROUP[k-1].SG_CODE
在这种情况下,您知道获取下一个值和上一个值的方法吗? 预先感谢您的帮助。
塞布
最佳答案
使用 jQuery $.each
,您可以使用函数的第一个参数直接访问索引。
假设您的索引不能为负。
var previous = -1; $.each(data.MYLIST,function(k,v){ alert(v); //OK if(previous != -1){ console.log(data.MYLIST[previous].SG_CODE); // FOR THE PREVIOUS VALUE } console.log(data.MYLIST[k].SG_CODE); //OK previous = k; });
应该解决前一个问题,如果您的索引不定期递增,则不要认为您可以访问下一个值。
关于javascript - 使用 JQUERY 的对象中的下一项和上一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43651658/