利用for循环把遍历数组中的元素依次获取出来
数组索引号从0开始 所以i必须从0开始 i<6
<script>
var arr = ['blue', 2, true, 4, 5, 6, 7];
for (var i = 0; i < 6; i++) {
console.log(arr[i]);
}
</script>
数组长度 数组名.length 获取数组内有多少个元素个数
i<arr.length 获取的是元素个数 是从1开始的 不要和索引号(从0开始)混淆!
i<6和i<arr.length 输出的结果是一样的 但i<arr.length 可以动态监测数组元素的个数 后期数组元素如遇删减情况 也可以正常执行 不用再修改数字 相对便利
<script>
var arr = ['blue', 2, 3, 4, 5, 6, true];
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
console.log(arr.length);
// for (i = 0; i < 6; i++) {
// console.log(arr[i]);
// }
// console.log(arr.length);
</script>
利用for循环计算数组中所有元素的和以及平均值
要打印出多个变量 用逗号隔开即可
<script>
var arr = [2, 6, 1, 7, 4];
var sum = 0;
var average = 0;
for (var i = 0; i < arr.length; i++) {
sum = sum + arr[i]; //加的是数组元素arr[i] 不是计数器i
}
average = sum / arr.length;
console.log(sum, average);
</script>
利用for循环计算数组中所有元素的最大值和最小值
<script>
var arr = [2, 6, 1, 7, 4];
var max = arr[0]; //索引号从0开始 依次往后做比较
var min = arr[0];
for (var i = 0; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
for (var i = 0; i < arr.length; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
console.log('该数组的最大值是' + max);
console.log('该数组的最小值是' + min);
</script>
将数组转换成字符串并用符号隔开
<script>
var arr = [2, 6, 1, 7, 4];
var str = ''; //定义一个空的字符串变量
var sep = '!'; //定义一个符号
for (var i = 0; i < arr.length; i++) {
str = str + arr[i] + sep;
}
console.log(str); //2 !6 !1 !7 !4 !
</script>
新增数组元素 替换数组元素
新增或者替换数组元素 都要用索引号开始 不能直接给数组名变量赋值!
<script>
var arr = ['pink', 'red'];
arr[2] = 'green'; //追加数组元素
arr[0] = 'yellow'; //替换原来的pink数组元素
console.log(arr); //yellow red green
</script>
新建一个数组 里面存放100个整数 从1-100
<script>
var arr = [];
for (i = 0; i < 100; i++) {
// arr = i; 不要直接给数组名赋值 不然输出结果就是arr = 10
arr[i] = i + 1; //加1是因为索引号是从0开始
}
console.log(arr);
</script>
筛选数组方法 把数组中大于5的元素存放到一个新数组中
方法1 需要给一个新变量j 再自增
方法2 直接把newArr的索引号改成 数组名.length
<script>
//方法1
var arr = [1, 2, 3, 4, 5, 6, 7];
var newArr = [];
var j = 0;
for (var i = 0; i < arr.length; i++) {
if (arr[i] > 5) {
//索引号应该从0开始 依次递增
newArr[j] = arr[i];
j++;
}
}
console.log(newArr);
//方法2 推荐这个
var arr = [1, 2, 3, 4, 5, 6, 7];
var newArr = []; //此时里面数组长度为0
for (var i = 0; i < arr.length; i++) {
if (arr[i] > 5) {
//索引号应该从0开始 依次递增
newArr[newArr.length] = arr[i];
}
}
console.log(newArr);
</script>
//使用场景3 由方法二得出 筛选出res列表中 name为环线的数据
async getDate() {
var obj = {
pageNum: this.pageNum,
pageSize: this.pageSize,
};
var res = await dictionaryApi.getDictionaryConfig(obj);
var getList = res.list; //把res的列表赋值
var j = [];
for (let i = 0; i < getList.length; i++) {
if (getList[i].name == '环线') {
j[j.length] = getList[i];
this.data1 = j;
this.total = Number(j.length); //total是总条数 J的长度为2 也相当于条数
}
}
},
翻转数组中的元素
<script>
var arr = ['pink', 'red', 'blue'];
var newArr = [];
//arr.length 索引号从0开始 比实际元素个数多一个
//把旧数组索引号第三个取过来(arr.length - 1) 给新数组索引号第0个元素(newArr.length)
for (var i = arr.length - 1; i >= 0; i--) {
newArr[newArr.length] = arr[i];
}
console.log(newArr); //blue red pink
</script>