0518作业
一、数组排序
1.要求
通过回调方法设置正序和倒序
2.思路
- 双重循环
- 临时变量存储
- 交换大小值
- 条件判断
- 输入值:arr1 = [48, 99, 77, 33, 22, 78, 81, 2, 3, 5, 10];
- 输出值:
- 从小到大排序:2,3,5,10,22,33,48,77,78,81,99
- 从大到小排序:99,81,78,77,48,33,22,10,5,3,2
3.源代码
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>sort</title></head><body><!--sort() 方法是最强大的数组方法之一,通过回调方法设置正序和倒序--><script>function sort(arrs, flag = true) {for (var i = 0; i < arrs.length - 1; i++) {for (var j = 0; j < arrs.length - i - 1; j ++){if (flag) {if (arrs[j] > arrs[j + 1]) {var tmp = arrs[j];arrs[j] = arrs[j + 1];arrs[j + 1] = tmp;}} else {if (arrs[j] < arrs[j + 1]) {var tmp = arrs[j];arrs[j] = arrs[j + 1];arrs[j + 1] = tmp;}}}}return arrs;}var arr1 = [48, 99, 77, 33, 22, 78, 81, 2, 3, 5, 10];console.log('从小到大排序:' + sort(arr1));console.log('从大到小排序:' + sort(arr1, false));</script></body></html>
二、比大小
1.思路
- 设置max,min两个函数,对输入的参数数组比较,获取到最大最小值,并返回。
- 输入值: testArray = [1, 2, 3, 8, 11, 5, 9, 4, 6, 7];
- 输出值:见console.log
2.源代码
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>比大小</title></head><body><script>function max(arr) {var max = arr[0];for (var i = 0; i < arr.length; i++) {if (arr[i] > max) {max = arr[i];}}return max;}function min(arr) {var max = arr[0];for (var i = 0; i < arr.length; i++) {if (arr[i] < max) {max = arr[i];}}return max;}var testArray = [1, 2, 3, 8, 11, 5, 9, 4, 6, 7];console.log('数组中最大的值为:'+ max(testArray));console.log('数组中最小的值为:'+ min(testArray));</script></body></html>