我正在使用的 API 正在返回结构不良的数据,如下所示:
{
"scsi0": "vm-101-disk-1.qcow2,size=32G",
"scsi1": "vm-101-disk-2.qcow2,size=32G",
"scsi2": "vm-101-disk-3.qcow2,size=32G"
}
如您所见,我没有使用包含 0, 1, 2
键/值对的 scsi
对象,我只是使用这样命名的键.
在 JavaScript 中,我如何搜索最高的 scsi
值(在这种情况下为 2
)?
最佳答案
Object.keys()
是开始此类工作的好地方。这样的事情怎么样?
var data = {
"scsi0": "vm-101-disk-1.qcow2,size=32G",
"scsi1": "vm-101-disk-2.qcow2,size=32G",
"scsi2": "vm-101-disk-3.qcow2,size=32G"
};
// get keys of data
var keys = Object.keys(data);
// get array of number values
var numbers = keys.map(function(key) {
// strip text out of keys, parse as integers
return parseInt(key.replace(/\D/g, '') || 0);
})
// get the largest number in the array
var highest = Math.max.apply(null, numbers);
// build the data key with this number
var key = "scsi" + highest;
// get the data pertaining to the key
var final = data[key];
// log the result
console.log(final);
关于javascript - 如何在 JSON 中找到最高键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53795188/