<script> //1.冒泡排序 var arr = [4, 3, 2, 5]; function bubbleSort(arr) { for(var i = 0; i < arr.length - 1; i++) { for(var j = 0; j < arr.length - 1 - i; j++) { if(arr[j] > arr[j + 1]) { var temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp } } } return arr } console.log('数组中最小值:' + bubbleSort(arr)[0]); console.log('数组中最大的值:' + bubbleSort(arr)[arr.length - 1]); //2.apply var max = Math.max.apply(this, arr); var min = Math.min.apply(this, arr); console.log('数组中的最小的值:' + min); console.log('数组中最大的值:' + max); //3.sort:先排序在取第一项和最后一项 arr.sort(function(a, b) { return a - b; }) console.log('数组中的最小的值:' + arr[0]); console.log('数组中的最大的值:' + arr[arr.length - 1]); //4.ES6的扩展运算符 console.log('数组中的最小的值:' + Math.min(...arr)) console.log('数组中的最大的值:' +Math.max(...arr)) //5.假设法:假设第一个值为最大,然后拿它逐个与后面的数比较,如果后面的数有比它大的则说明假设错了, //我们把假设的值进行替换,最后得到的结果就是我们想要的 // 获取最大值: var min = arr[0]; var max = arr[0]; for (var i = 0; i < arr.length; i++) { var cur = arr[i]; cur < min ? min = cur : null; cur > max ? max = cur : null } console.log('数组中的最小的值:' + min); console.log('数组中的最大的值:' + max); </script>