1、求一组数中的最大值和最小值,以及所在位置(最大值和最小值在这组数中的位置)
1 var numbers = [120, 13, 101, 88, 10, 25]; 2 var max = numbers[0]; 3 var min = numbers[0]; 4 // 最大值的索引 5 var maxIndex = 0; 6 // 最小值的索引 7 var minIndex = 0; 8 9 for (var i = 1; i < numbers.length; i++) { 10 // 找大的数 11 if (max < numbers[i]) { 12 max = numbers[i]; 13 maxIndex = i; 14 } 15 // 找小的数 16 if (min > numbers[i]) { 17 min = numbers[i]; 18 minIndex = i; 19 } 20 } 21 console.log(max, min); 22 console.log(maxIndex, minIndex);
2、将字符串数组用 | 或其他符号分割
1 var names = ['西伯利亚狼', '灰狼', '土狼', '大尾巴狼', '狗头老高']; 2 // 往第二个元素之前加分隔符 3 var seperator = '|'; // 分隔符 4 var str = names[0]; 5 for (var i = 1; i < names.length; i++) { 6 str += seperator + names[i]; 7 } 8 console.log(str);
3、翻转数组 1,2,3,4 -> 4,3,2,1
1 var numbers = [4, 5, 7, 9]; // 生成一个新的数组 数组中存储 9 7 5 4 2 var newArray = []; 3 for (var i = numbers.length - 1; i >= 0; i--) { 4 newArray[newArray.length] = numbers[i]; 5 } 6 console.log(newArray);
4、冒泡排序
1 // 冒泡排序 -- 从小到大的排序 2 var numbers = [1, 3, 5, 2, 4]; 3 var count = 0; // 记录循环的次数 4 // 外层循环:控制趟数,每一趟找到一个最大值 5 for (var i = 0; i < numbers.length - 1; i++) { 6 count++; 7 // 内层循环:控制比较的次数,并且判断两个数的大小,把大的数往后移动,小的数往前移动 8 for (var j = 0; j < numbers.length - 1 - i; j++) { 9 count++; 10 // 两两比较 从小到大排序 11 if (numbers[j] > numbers[j + 1]) { 12 // 交换位置 13 var tmp = numbers[j]; 14 numbers[j] = numbers[j + 1]; 15 numbers[j + 1] = tmp; 16 } 17 } 18 } 19 console.log(numbers); 20 console.log(count);
5、冒泡排序——优化
1 var numbers = [1, 3, 5, 2, 4]; 2 var count = 0; // 记录循环的次数 3 // 外层循环:控制趟数,每一趟找到一个最大值 4 for (var i = 0; i < numbers.length - 1; i++) { 5 // 假设数据排好顺序了 6 var isSort = true; 7 count++; 8 // 内层循环:控制比较的次数,并且判断两个数的大小,把大的数往后移动,小的数往前移动 9 for (var j = 0; j < numbers.length - 1 - i; j++) { 10 count++; 11 // 两两比较 从小到大排序 12 if (numbers[j] > numbers[j + 1]) { 13 // 没有排好 14 isSort = false; 15 // 交换位置 16 var tmp = numbers[j]; 17 numbers[j] = numbers[j + 1]; 18 numbers[j + 1] = tmp; 19 } 20 } 21 // 某一趟结束,判断一下排序是否结束 22 // 如何判断排序是否排好,根据是否发生了数据交换,如果发生了数据交换说明没有排好 23 if (isSort) { 24 // 如果排好顺序 25 break; 26 } 27 } 28 console.log(numbers); 29 console.log(count);
4、
来源:https://www.cnblogs.com/niujifei/p/11320203.html