检索最高键值

时间:2018-05-18 07:15:24

标签: javascript html dictionary

labels是字典词典:

我想获得最高的键值,在本例中,最高键值为4.

我完成该任务的代码是labels[labels.length - 1].id,但它没有用。

2 个答案:

答案 0 :(得分:1)

由于在Javascript中,对象是无序的属性集合,因此只能使用labels[labels.length - 1].id max 键>

您需要使用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);