我正在尝试用jQuery构建一个问卷/个性测试。我最后有一个目标:
results = {
quality1 : 2,
quality2 : 3,
quality3 : 0,
quality4 : 3,
etc
}
然后我想检索具有更高值的密钥。如果只有一个匹配结果,那没问题:
topScore = 0;
$.each(results, function(i,val) {
if ( results[i] > topScore ) {
topScore = results[i];
topQuality = i;
}
});
console.log('Higher quality : ' + topQuality)
但是如果有很多呢?(例如,在本例中,quality2和quality4)
我有点迷路了,在这里。。。
topScore = 0;
var topQualityIndexes = [];
$.each(results, function(i,val) {
if ( results[i] > topScore ) {
topScore = results[i];
topQualityIndexes = [i];
}else if( results[i] == topScore ){
topQualityIndexes.push(i);
}
});
//Printing
console.log( 'Higher qualities: ' + topQualityIndexes.join(",") );
使用列表并显示所有最高值。