如果在 JavaScript 中呈现这样的对象:
var data = [
{"Person Name": "Amy", "Age":"46", "sex":"female"}
{"Person Name": "John", "Age":"22", "sex":"male"}
{"Person Name": "Mike", "Age":"62", "sex":"male"}
{"Person Name": "Gav", "Age":"undefined", "sex":"male"}
]
并且想找到最大年龄但也想返回索引值,即'2'
data[2]["Age"]
在这个例子中,我该如何编码?然而,我使用的数据对象包含超过 1000 个条目,并且具有未定义的年龄值,因此需要进行搜索。
到目前为止,我的解决方案是:
function maxIndex(/*string*/ property, /*array*/ searchArray){
var maxIndex = 0;
var maxValue = searchArray[0][property];
for(i=1;i<searchArray.length;i++){
if(searchArray[i][property] > maxValue){
maxValue = searchArray[i][property];
maxIndex = i;
}
}
return maxIndex;
}
调用者:
maxAgeIndex = maxIndex("Age", data);
这似乎不起作用。由于丢失了索引号,我无法对“年龄”属性上的数据对象进行排序。