首先先简单介绍一下数组,数组是什么?如何创建数组?如何访问遍历数组?接下来就先简单的介绍一下:
数组概念:
数组指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的优雅方式。
创建数组:
1.用new关键字创建数组
2.用字面量创建数组
区别:用new关键字创建的数组,如果里面只包含一个值,那么它就是该数组的数据,而用字面量创建的数组,当里面包含一个值时,该值代表的是该数组里应包含几个数据。
访问遍历数组:
索引(下标):用来访问数组元素的序号。索引从 0 开始
练习题
1. 将数组中不为0的数据存入新数组
2. 求出数组中的最大值
3. 将数组中的值转为字符串,并用符号 " | " 分隔
4. 新建一个数组,里面随机存放10个整数(1-10)
5. 选出数组中大于10的数
6. 数组去重
7. 数组反转
8. 数组冒泡排序
9. 求出数组元素和
10. 求出数组中的平均值
11. 打印出数组的奇数
12. 计算数组中能被3整除的偶数和
答案代码:
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>数组练习</title></head><body><h4>将数组中不为0的数据存入新数组</h4><script>// 将数组中不为0的数据存入新数组let arres = [0, 2, 3, 6, 30, 7];let newArr = [];// forfor (let w = 0; w < arres.length; w++) {if (arres[w] !== 0) {newArr.push(arres[w]);}}document.write(newArr);document.write('<br/>');// whilelet im = [];let p = 0;while (p < arres.length) {if (arres[p] !== 0) {im.push(arres[p]);}p++;}console.log(im);// do whilelet none = [];let t = 0;do {if (arres[t] !== 0) {none.push(arres[t]);}t++;} while (t < arres.length);console.log(none);// 求出数组中的最大值let arr = [2, 4, 7, 5, 9];// 用Math.max方法结合扩展运算符...来求取最大值let max = Math.max(...arr);console.log(max);// 将数组中的值转为字符串,并用符号 " | " 分隔let arrs = ['李华', '小亮', '无名', '佚名'];let join = '';for (let i = 0; i < arrs.length; i++) {join += arrs[i] + '|';}console.log(join);// 新建一个数组,里面随机存放10个整数(1-10)let createRandomArray = () => {return Array.from({length: 10}, () => Math.floor(Math.random() * 10) + 1);};let randomArray = createRandomArray();console.log(randomArray);// 选出数组中大于10的数let arr1 = [2, 3, 5, 98, 12, 54];// 可以使用Jfilter过滤(number => number > 10)方法let f = arr1.filter(number => number > 10);console.log(f);// 数组去重let arre = [1, 2, 3, 1, 4, 5, 3, 2, 3, 2];let uniqueArray = arre.filter((value, index, self) => self.indexOf(value) === index);console.log(uniqueArray); // [1, 2, 3, 4, 5]// indexof搜索// 数组反转let array = [2, 3, 4, 5, 6, 7];array.reverse();console.log(array);// 数组冒泡排序let arras = [2, 4, 6, 7, 23, 44, 12, 65];for (let i = 0; i < arras.length - 1; i++) {for (let j = 0; j < arras.length - 1 - i; j++) {if (arras[j] > arras[j + 1]) {let num = arras[j];arras[j] = arras[j + 1];arras[j + 1] = num;}}}console.log(arras);// 求出数组元素和let arrss = [2, 3, 8, 6];// forlet sum = 0;for (let l = 0; l < arrss.length; l++) {sum += arrss[l];}console.log(sum);// whilelet u = 0;let sums = 0;while (u < arrss.length) {sums += arrss[u];u++;}console.log(sums);// do whilelet y = 0;let sumes = 0;do {sumes += arrss[y];y++;} while (y < arrss.length);console.log(sumes);// 求出数组中的平均值let num = [2, 3, 4, 5, 7, 3];// forlet add = 0;for (k = 0; k < num.length; k++) {add += num[k];}console.log(add / num.length);// whilelet q = 0;let adds = 0;while (q < num.length) {adds += num[q];q++;}console.log(adds / num.length);// do whilelet d = 0;let addes = 0;do {addes += num[d];d++;}while (d < num.length);console.log(addes / num.length);// 打印出数组的奇数let nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];// forfor (j = 0; j < nums.length; j++) {if (nums[j] % 2 != 0) {console.log(nums[j]);}}// do whilelet g = 0;let single = 0;do {if (nums[g] % 2 != 0) {console.log(nums[g]);}g++;} while (g < nums.length);// whilelet h = 0;while (h < nums.length) {if (nums[h] % 2 != 0) {console.log(nums[h]);}h++;}// 计算数组中能被3整除的偶数和let namee = [3, 6, 9, 12, 15, 18, 21, 33, 36, 54];// do whilelet i = 0;let and = 0;do {if (namee[i] % 3 == 0 && namee[i] % 2 == 0) {and += namee[i];}i++} while (i < namee.length);console.log(and);// forlet result = 0;for (let e = 0; e < namee.length; e++) {if (namee[e] % 3 === 0 && namee[e] % 2 === 0) {result += namee[e];}}console.log(result);// whilelet c = 0;let total = 0;while (c < namee.length) {if (namee[c] % 3 == 0 && namee[c] % 2 == 0) {total += namee[c];}c++;}console.log(total);</script></body>
</html>