所谓遍历数组就是把数组中的每个元素从头到尾都访问一边;
我们可以通过 for 循环,进行遍历数组
这里需要注意的是 因为我们的数组是从索引 0 开始的,所以循环里面的 i 必须是从 0 开始的,i < 数组的长度 数组名.length;
arr.length 是动态监测数组的长度是元素的个数,不要跟索引号混淆;长度是从1开始的;
var arr = ['星期一','星期二','星期三','星期四','星期五','星期六','星期日'];
for(var i = 0; i < arr.length; i++){
console.log(arr[i]);
}
// 最后得到的是 星期一 星期二 星期三 星期四 星期五 星期六 星期日
// 求数组 [2,6,1,7,4]里面所有元素的和以及平均值
var arr1 = [2,6,1,7,4];
var sum = 0; //声明一个求和变量
for(var i = 0; i < arr1.length; i++){
sum = sum + arr1[i];
}
alert('数组arr1中所有元素的和是'+ sum);
alert('数组arr1中所有元素的平均值是'+ sum / arr1.length);
// 求数组[2,6,1,77,52,25,7]中的最大值
// 解题思路:1 声明一个保存最大元素的变量 max; 默认最大值可以取这个数组中第一个元素;
// 2.遍历这个数组,把里面的每个元素和max相比较;
// 3.如果这个数组元素大于max 就把这个数组元素存到max里面,否则进行下一轮比较;
// 4.最后输出这个这个最大值 max
var arr2 = [2,6,1,77,52,25,7];
var max = arr2[0];
for(var i = 0; i < arr2.length; i++){
if(arr2[i] > max){
max = arr2[i];
}
}
console.log('该数组中的最大值是'+ max);
// 将数组['red','green','blue','pink'],转换为字符串,并且用|或者其他符号进行分割
var arr = ['red','green','blue','pink'];
var str = '';
var re = '$'; //用$对数组进行分割
for(var r = 0; r < arr.length; r++){
str = str + arr[r] + re;
}
console.log(str);
// 要求:将数组[2,0,6,1,77,0,52,0,25,7]中大于等于10的元素选出来,放入新数组
var arr1 = [2,0,6,1,77,0,52,0,25,7];
var arr2 = [];
var j = 0;//声明一个新的变量来记录新数组的索引
for(var i = 0; i < arr1.length; i++){
if(arr1[i] > 10){
arr2[j] = arr1[i];
j++ // 让索引依次递增
}
}
console.log(arr2); //[77, 52, 25]
// 第二种方法 利用length 可以自动检测数组的长度
var arr1 = [2,0,6,1,77,0,52,0,25,7];
var arr2 = [];
for(var i = 0; i < arr1.length; i++){
if(arr1[i] > 10){
arr2[arr2.length] = arr1[i];
}
}
console.log(arr2); //[77, 52, 25]
// 将数组[2,0,6,1,77,0,52,0,25,7]中的0去掉,形成一个不包含0的数组
var arr1 = [2,0,6,1,77,0,52,0,25,7];
var arr2 = [];
for(var i = 0; i < arr1.length; i++){
if(arr1[i] != 0){
arr2[arr2.length] = arr1[i];
}
}
console.log(arr2); //[2, 6, 1, 77, 52, 25, 7]