labels
是字典词典:
我想获得最高的键值,在本例中,最高键值为4.
我完成该任务的代码是labels[labels.length - 1].id
,但它没有用。
答案 0 :(得分:1)
由于在Javascript中,对象是无序的属性集合,因此只能使用labels[labels.length - 1].id
您需要使用Object.keys
方法和spread syntax
let labels = {"1":{"id":"1","image":"1-0.png","name":"","xMax":"4802","xMin":"4770","yMax":"156","yMin":"141"},"2":{"id":"2","image":"1-0.png","name":"","xMax":"4895","xMin":"4810","yMax":"157","yMin":"141"},"3":{"id":"3","image":"1-0.png","name":"","xMax":"4923","xMin":"4903","yMax":"156","yMin":"145"},"4":{"id":"4","image":"1-0.png","name":"","xMax":"4956","xMin":"4931","yMax":"156","yMin":"145"}}
console.log(Math.max(...Object.keys(labels)));
答案 1 :(得分:0)
使用Object.keys()
对对象key
进行排序,然后从该数组中获取最后一个键。为了更好的例子,我在对象的第一个位置使用了值为"5"
的键:
var data = {"5":{"id":"5","image":"1-0.png","name":"","xMax":"4802","xMin":"4770","yMax":"156","yMin":"141"},"2":{"id":"2","image":"1-0.png","name":"","xMax":"4895","xMin":"4810","yMax":"157","yMin":"141"},"3":{"id":"3","image":"1-0.png","name":"","xMax":"4923","xMin":"4903","yMax":"156","yMin":"145"},"4":{"id":"4","image":"1-0.png","name":"","xMax":"4956","xMin":"4931","yMax":"156","yMin":"145"}};
var keys = Object.keys(data);
var highestKey = keys[keys.length - 1];
console.log('highest key value is '+ highestKey);
var higestObj = data[highestKey];
console.log(higestObj);