一.笔记
二.练习
1.定义数组的两种方式
①new字符实例化数组
②字面量实例化数组
<script>
/* 通过new字符实例化数组*/
let arr = new Array('英文','good',99)
// 访问数组
console.log(arr)
// 访问数组元素
console.log(arr[1]);
console.log(arr[30]); //undefined,如果访问的索引值不存在,默认用undefined占位
// 访问数组长度
console.log(arr.length);
</script>
<script>
/* 通过字面量实例化数组 */
let arr2=[1,'成都',,'大源',1,3,'log','enen','last']
// 访问数组
console.log(arr2);
//访问数组元素
console.log(arr2[1]);
console.log(arr2[2]);//undefined
console.log(arr2[arr2.length-1])
// 访问数组长度
console.log(arr2.length);
</script>
2.遍历数组元素的两种方式
①for循环
②forEach循环
<script>
/* 需求:为数组中的每个元素加5 */
let arr = [1, 5, 7, 6]
/* for循环 */
for (let i = 0; i < arr.length; i++) {
arr[i] += 5;
}
console.log(arr);//[6, 10, 12, 11]
/* forEach循环 */
arr.forEach(function (value, index) {
arr[index] = value + 5
})
console.log(arr);//[11, 15, 17, 16]
</script>
3.求一个数组中奇数的个数和奇数的平均值
<script>
/*
需求:
(数组)定义一个数组,输入9个任意的整数,求该数组中奇数的个数和奇数的平均值。
*/
function reOdd(arr) {
// 定义变量
let count = 0,//基数的个数
sum = 0//基数的和
// 遍历数组
for (let i = 0; i < arr.length; i++) {
if (arr[i] % 2 !== 0) {
// 基数和
sum += arr[i]
// 基数个数自增
count++
}
}
return `基数个数:${count} 基数的和:${sum} 基数的平均数:${sum / count}`
}
let result = reOdd([6, 7, 8, 9, 10, 11])
console.log(result);
</script>
4.求二维数组的平均值,最大值,最小值
<script>
/*
需求:求该数组的平均值,最大值,最小值
*/
// 定义数组
let arr = [
[12, 43, 23, 123],
[54, 54, 23, 64],
[86, 67, 34, 23]
];
// 定义变量.
/* 这里注意:
在定义变量保存数组中的最大值或最小值时,通常将数组中的某个元素作为初始值.
如果最大值和最小值初始值为0,(当数组中的元素都比0大,比较出来最小值一直是0;如果数组中的元素都比0小,比较出来的最大值一直是0)
*/
let max = arr[0][0], //定义变量保存数组中的最大值
min = arr[0][0], //定义变量保存数组中的最小值
sum = 0 //保存数组中所有元素的和
// 遍历数组
for (let i = 0; i < arr.length; i++) {
// 循环数组中的数组
for (let j = 0; j < arr[i].length; j++) {
// 求和
sum += arr[i][j]
// 判断
if (arr[i][j] > max) {
// 最大值
max = arr[i][j]
} else if (arr[i][j] < min) {
// 最小值
min = arr[i][j]
}
}
}
console.log(`总和是:${sum} 平均数是:${sum / arr.length} 最大值是:${max} 最小值是:${min}`)
//输出结果:总和是:606 平均数是:202 最大值是:123 最小值是:12
</script>
5.数组去重
①使用数组内置方法中的includes()方法
②使用数组内置方法中的indexOf()方法
<script>
/*
需求:数组去重 ,去除数组中重复的数字
列如: [ 1, 3, 5, 7, 1, 3, 4, 1 ] ===> [ 1, 3, 5, 7, 4 ]
*/
// 定义数组
let arr = [1, 3, 5, 7, 1, 3, 4, 1]
// 定义一个空数组
let arr2 = []
// 遍历数组
for (let i = 0; i < arr.length; i++) {
// 判断数组1中的元素在数组2中是否存在
// 一.使用includes()方法判断
/*
if( !arr2.includes(arr[i]) ){
// 不存在,添加到数组2中
arr2.push(arr[i])
}
*/
// 二.使用indexOf()方法判断
if (arr2.indexOf(arr[i]) === -1) {
arr2.push(arr[i])
}
}
console.log(arr2)
//结果:[1, 3, 5, 7, 4]
</script>
三.总结
数组中的内置方法要记清楚, 每一种方法, 每一种可能的情况都要亲自测试.