关于数组的练习题

首先先简单介绍一下数组,数组是什么?如何创建数组?如何访问遍历数组?接下来就先简单的介绍一下:

数组概念:

数组指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的优雅方式。

创建数组:

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 = [];
			// for
			for (let w = 0; w < arres.length; w++) {
				if (arres[w] !== 0) {
					newArr.push(arres[w]);
				}
			}
			document.write(newArr);
			document.write('<br/>');

			// while
			let im = [];
			let p = 0;
			while (p < arres.length) {
				if (arres[p] !== 0) {
					im.push(arres[p]);
				}
				p++;
			}
			console.log(im);
			// do while
			let 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];
			// for
			let sum = 0;
			for (let l = 0; l < arrss.length; l++) {
				sum += arrss[l];
			}
			console.log(sum);

			// while
			let u = 0;
			let sums = 0;
			while (u < arrss.length) {
				sums += arrss[u];
				u++;
			}
			console.log(sums);

			// do while
			let 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];
			// for
			let add = 0;
			for (k = 0; k < num.length; k++) {
				add += num[k];
			}
			console.log(add / num.length);

			// while
			let q = 0;
			let adds = 0;
			while (q < num.length) {
				adds += num[q];
				q++;
			}
			console.log(adds / num.length);

			// do while
			let 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];
			// for
			for (j = 0; j < nums.length; j++) {
				if (nums[j] % 2 != 0) {
					console.log(nums[j]);
				}
			}

			// do while
			let g = 0;
			let single = 0;
			do {
				if (nums[g] % 2 != 0) {
					console.log(nums[g]);
				}
				g++;
			} while (g < nums.length);

			// while
			let 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 while
			let 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);

			// for
			let 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);

			// while
			let 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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值