我有以下 JSON 对象:
{
"nodeId": 2965,
"appId": 208,
"navigationType": 0,
"displaySeq": 0,
"displayText": "Delete Testing",
"customerAttribute": "",
"saveAsDefault": false,
"ussdDisplayText": "Delete Testing",
"headerForChild": "",
"Nodes": [
{
"nodeId": 3081,
"appId": 208,
"navigationType": 0,
"displaySeq": 1,
"displayText": "New node2967",
"customerAttribute": "",
"saveAsDefault": false,
"ussdDisplayText": "New node2967",
"headerForChild": "",
"parentNodeId": 2965,
"Nodes": [
{
"nodeId": 3086,
"appId": 208,
"navigationType": 0,
"displaySeq": 1,
"displayText": "abcd",
"customerAttribute": "",
"saveAsDefault": false,
"ussdDisplayText": "New node1",
"headerForChild": "",
"parentNodeId": 3081,
"Nodes": [],
"concatWithHeader": false,
"nodeCode": "208_3085_1",
"parentCode": "3080",
"extResponseType": 0,
"canAdd": false,
"canEdit": false,
"canDelete": false,
"canView": false,
"setChileNode": false
}
],
"concatWithHeader": false,
"nodeCode": "3080",
"parentCode": "RN",
"extResponseType": 0,
"canAdd": false,
"canEdit": false,
"canDelete": false,
"canView": false,
"setChileNode": false
}
],
"concatWithHeader": false,
"nodeCode": "RN",
"parentCode": "ROOT_NODE",
"responseType": 1,
"responseText": "Thank you!",
"dynamicResponseFlag": false,
"extResponseType": 0,
"canAdd": false,
"canEdit": false,
"canDelete": false,
"canView": false,
"setChileNode": false
}
我想要这个对象的属性的最大值,**nodeId**
即3080
我该怎么做?我不想对其进行排序。只需获得最大值。
我试过这个:
var data = rootNode;
var maxProp = "nodeId";
var maxValue = -1;
for (var prop in data) {
if (data.hasOwnProperty(prop)) {
var value = data[prop];
if (value > maxValue) {
maxProp = prop;
maxValue = value;
}
}
}
但这会迭代属性,而不是子元素。因此,我只得到第一个值作为最大值。