51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

JavaScript中取二维数组中最小值/最大值下标

如下数组:

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;
    }</code></pre>



 
运行结果:

  

  http://static.51tbox.com/static/2025-01-06/col/42b9f272052bf0ef4f357d943949445d/229ec619a50246d9ab62d76964f4150c.jpg.jpg
   
    图 | 结果
   
  
 

 
更多
---


 
取一维数组中最小值或最大值可以用`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

赞(0)
未经允许不得转载:工具盒子 » JavaScript中取二维数组中最小值/最大值下标