• 2024-10-07
宇哥博客 前端开发 JavaScript中取二维数组中最小值/最大值下标

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;
	}

运行结果:

图 | 结果

更多

取一维数组中最小值或最大值可以用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.maxMath.max.apply可查看:apply和Math.max()函数使用与区别https://www.php.cn/js-tutorial-395057.html

本文来自网络,不代表本站立场,转载请注明出处。http://www.ygbks.com/3470.html

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部