如下数组:
let arr = [ {'count':350,'name':'java'},{'count':100,'name':'php'}, {'count':150,'name':'python'}, {'count':330,'name':'c#'} ];
要获取count
字段最小或最大值的下标,直接贴完整测试代码:
let arr = [ {'count':350,'name':'java'},{'count':100,'name':'php'}, {'count':150,'name':'python'}, {'count':330,'name':'c#'} ];
console.log('数组',arr);
let index_min = getMinIndex(arr,'count');
let index_max = getMaxIndex(arr,'count');
console.log('最小值下标', index_min , 'name', arr[index_min]['name'] );
console.log('最大值下标', index_max , 'name', arr[index_max]['name'] );
/*
* 获取最小值的下标
*/
function getMinIndex(arr, key) {
var min = arr[0][key];
var index = 0;
for (var i = 0; i < arr.length; i++) {
if (min > arr[i][key]) {
min = arr[i][key];
index = i;
}
}
return index;
}
/*
* 获取最大值的下标
*/
function getMaxIndex(arr, key) {
var max = arr[0][key];
var index = 0;
for (var i = 0; i < arr.length; i++) {
if (max < arr[i][key]) {
max = arr[i][key];
index = i;
}
}
return index;
}
运行结果:
更多
取一维数组中最小值或最大值可以用Math.max.apply()
,代码如下:
let arr2=[12,2,3,5,2,11,3,4];
console.log('最小值', Math.min.apply(Math,arr2) );
console.log('最大值', Math.max.apply(Math,arr2) );
关于Math.max
和Math.max.apply
可查看:apply和Math.max()函数使用与区别https://www.php.cn/js-tutorial-395057.html