数组Array
1. 数组概念
2. 数组创建
2.1 利用 new 创建数组
2.2 利用数组字面量创建数组
2.3 数组元素类型
3. 获取元素
4. 遍历元素
4.1 数组遍历
4.2 数组长度
4.3 代码示例
5. 新增元素
6. 数组案例
6.1 计算数组的和以及平均值
求数组 [2,6,1,7, 4] 里面所有元素的和以及平均值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 <script> var arr = [2 , 6 , 1 , 7 , 4 ]; var sum = 0 ; var average = 0 ; for (var i = 0 ; i < arr.length ; i++) { sum += arr[i]; } average = sum / arr.length ; console .log (sum, average); </script>
6.2 求数组最大值
求数组[2,6,1,77,52,25,7]中的最大值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <script> var arr = [2 , 6 , 1 , 77 , 52 , 25 , 7 , 99 ]; var max = arr[0 ]; for (var i = 1 ; i < arr.length ; i++) { if (arr[i] > max) { max = arr[i]; } } console .log ('该数组里面的最大值是:' + max); </script>
6.3 数组转换为字符串
将数组 [‘red’, ‘green’, ‘blue’, ‘pink’] 转换为字符串,并且用 | 或其他符号分割
1 2 3 4 5 6 7 8 9 10 11 12 13 <script> var arr = ['red' , 'green' , 'blue' , 'pink' ]; var str = '' ; var sep = '*' ; for (var i = 0 ; i < arr.length ; i++) { str += arr[i] + sep; } console .log (str); </script>
6.4 数组存放1-10个字
新建一个数组,里面存放10个整数( 1~10)
1 2 3 4 5 6 7 8 9 10 11 12 13 <script> var arr = []; for (var i = 0 ; i < 100 ; i++) { arr[i] = i + 1 ; } console .log (arr); </script>
6.5 筛选数组
将数组 [2, 0, 6, 1, 77, 0, 52, 0, 25, 7] 中大于等于 10 的元素选出来,放入新数组。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 <script> var arr = [2 , 0 , 6 , 1 , 77 , 0 , 52 , 0 , 25 , 7 ]; var newArr = []; var j = 0 ; for (var i = 0 ; i < arr.length ; i++) { if (arr[i] >= 10 ) { newArr[j] = arr[i]; j++; } } console .log (newArr); var arr = [2 , 0 , 6 , 1 , 77 , 0 , 52 , 0 , 25 , 7 ]; var newArr = []; for (var i = 0 ; i < arr.length ; i++) { if (arr[i] >= 10 ) { newArr[newArr.length ] = arr[i]; } } console .log (newArr); </script>
6.6 数组去重
将数组[2, 0, 6, 1, 77, 0, 52, 0, 25, 7]中的 0 去掉后,形成一个不包含 0 的新数组。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 <script> var arr = [2 , 0 , 6 , 1 , 77 , 0 , 52 , 0 , 25 , 7 ]; var newArr = []; for (var i = 0 ; i < arr.length ; i++) { if (arr[i] != 0 ) { newArr[newArr.length ] = arr[i]; } } console .log (newArr); </script>
6.7 数组翻转
将数组 [‘red’, ‘green’, ‘blue’, ‘pink’, ‘purple’] 的内容反过来存放
1 2 3 4 5 6 7 8 9 10 11 12 <script> var arr = ['red' , 'green' , 'blue' , 'pink' , 'purple' , 'hotpink' ]; var newArr = []; for (var i = arr.length - 1 ; i >= 0 ; i--) { newArr[newArr.length ] = arr[i] } console .log (newArr); </script>
6.8 冒泡排序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <script> var arr = [4 , 1 , 2 , 3 , 5 ]; for (var i = 0 ; i <= arr.length - 1 ; i++) { for (var j = 0 ; j <= arr.length - i - 1 ; j++) { if (arr[j] < arr[j + 1 ]) { var temp = arr[j]; arr[j] = arr[j + 1 ]; arr[j + 1 ] = temp; } } } console .log (arr); </script>
6.9 一些函数与数组小案例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 <!-- 1. 写一个函数,能返回传入的任意两个数字的最大值。 2. 写一个函数,能返回传入的任意三个数字的最大值。 3. 写一个函数,能判断传入的一个数值是否是质数,如果是质数返回true ,如果不是质数返回false ,(质数:从2 开始只能被1 和自身整数的数) 4. 写一个函数,能翻转传入的任意数组,并把翻转结果通过返回值返回。 5. 写一个函数,能对所有传入的数组按照从小到大进行排序,并把排序结果通过返回值返回 --> <script > function max (num1, num2 ) { return num1 > num2 ? num1 : num2; } console .log (max (23 , 56 )); function getMax (arr ) { var max = 0 ; for (var i = 0 ; i < arr.length ; i++) { if (arr[i] > max) { max = arr[i]; } } return max; } console .log (getMax ([23 , 45 , 14 ])) function Prime (params ) { for (var i = 2 ; i < params; i++) { if (params % i != 0 ) { return true } else { return false } } } console .log (Prime (5 )); function arr (arr1 ) { var arr2 = new Array (); for (var i = arr1.length - 1 ; i >= 0 ; i--) { arr2[arr2.length ] = arr1[i] } return arr2; } console .log (arr ([12 , 23 , 34 , 5 , 45 , 56 ])); function arra (arr ) { for (var i = 0 ; i < arr.length - 1 ; i++) { for (var j = 0 ; j <= arr.length - i - 1 ; j++) { if (arr[j] > (arr[j + 1 ])) { var temp = arr[j]; arr[j] = arr[j + 1 ]; arr[j + 1 ] = temp; } } } return arr; } console .log (arra ([12 , 23 , 34 , 5 , 45 , 56 ])); </script >