说我有一个像这样动态创建的对象...

var indexes = {};
for (var i = 0; i < specchar.length; i++) {
    indexes[specchar[i]] = str.indexOf(specchar[i]);
}


我如何找到具有最高价值的财产?

最佳答案

最有效的方法是在动态创建对象时跟踪最大值,如下所示:

var indexes = {};
var maxVal = str.indexOf(specchar[0]); // contains largest value
var maxKey = ''; // contains key corresponding to largest value
for (var i = 0; i < specchar.length; i++) {
  var val = str.indexOf(specchar[i]);
  if (val > maxVal) {
    maxVal = val;
    maxKey = specchar[i];
  }
  indexes[specchar[i]] = val;
}

07-24 21:30