js数组中的问题

一、for循环遍历数组

问题一:将数组中的[ ‘张飞’ , ‘刘备’ , ‘关羽’ , ‘吕布’ ]全部输出

  1. for循环中 i 是计数器,从 0 开始,所以可以遍历数组中的所有元素。
  2. .length是数组的长度。
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <script>
        var arr = ['张飞' , '刘备' , '关羽' , '吕布'];

        for(var i = 0 ; i < arr.length ; i++){

            console.log(arr[i]);
        }
    </script>
</body>
</html>

问题二:求出数组var arr = [4 , 5 , 6 , 8 , 32];中的平均值

  1. 定义一个sum装数组中元素的和。
  2. 用for循环遍历数组在加在sum上。
  3. 定义一个average计算平均值。
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <script>
        // 思路:
        // 1.定义一个sum装数组中元素的和
        // 2.用for循环遍历数组在加在sum上
        // 3.定义一个average计算平均值
        var arr = [4 , 5 , 6 , 8 , 32];
        var sum = 0 ;
        var average = 0 ;
        for(var i = 0 ; i < arr.length ; i++){
            sum += arr[i];
            
        }
        average = sum / arr.length;
        console.log(sum);
        console.log(average);
    </script>
</body>
</html>

问题三:求出数组var arr = [3 , 9 , 987 , 988 , 223 , 223 , 321];中的最大值

  1. 定义一个数组存放数据。
  2. 定义一个max来存放最大的值,max最原始的值就是数组的第一个值。
  3. 遍历数组元素跟max里面的值作比较,大于就赋值给max。
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <script>
        // 思路:
        // 1.定义一个数组存放数据
        // 2.定义一个max来存放最大的值,max最原始的值就是数组的第一个值
        // 3.遍历数组元素跟max里面的值作比较,大于就赋值给max
        // 4.输出最大值max
        var arr = [3 , 9 , 987 , 988 , 223 , 223 , 321];
        var max = arr[0];
        for(var i = 0 ; i < arr.length ; i ++ ){
            if(arr[i] > max) {
                max = arr[i];
            }
        }
        console.log(max);
    </script>
</body>
</html>

二、数组新增元素的方法

两种方法

  1. 通过直接修改length长度的方法。
  2. 通过修改索引号,追加数组长度。
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <script>
        // 两个方法
        // 1.通过直接修改length长度增加长度
        var arr = [1,2,3];
        arr.length = 5;
        console.log(arr);//数组长度为五有两个空元素
        // 2.通过修改索引号,追加数组元素
        var arr1 = [1,2,3];
        arr1[3] = 4;// 在索引下标为3的数组下面新增元素4
        arr1[4] = 5;
        console.log(arr1);
    </script>
</body>
</html>

三、筛选数组(数组去重)的方法

问题一:将数组[2,0,6,1,77,0,52,0,25,7]中大于等于10的元素选出来放进新的数组。

方法一:

  1. 建立一个新数组newArr用来存放筛选出来的元素。
  2. 通过for循环遍历旧数组,通过if设置条件筛选元素。
  3. 把筛选出来的元素赋值给newArr[ 索引 ] = arr[ i ]。
  4. 新数组的索引用 j 表示,j = 0 , j++。
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <script>
        // 要求:将数组[2,0,6,1,77,0,52,0,25,7]中大于等于10的元素选出来放进新的数组
        var arr = [2,1,6,1,77,0,98,0,22,7];
        var newarr = [];
        var j = 0 ;
        for(var i = 0 ; i < arr.length ; i++){
            if(arr[i]>=10){
                newarr[j] = arr[i];
                j++;
            }
            
        }
        console.log(newarr);
    </script>
</body>
</html>

方法二:

  1. 建立一个新数组newArr用来存放筛选出来的元素。
  2. 通过for循环遍历旧数组,通过if设置条件筛选元素。
  3. 把筛选出来的元素赋值给newArr[ length ] = arr[ i ]。
  4. 因为newArr刚开始是 0 元素,所以newArr[length]的索引是从 0 开始的。
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <script>
        // 要求:将数组[2,0,6,1,77,0,52,0,25,7]中大于等于10的元素选出来放进新的数组
        var arr = [2,1,6,1,77,0,98,0,22,7];
        var newarr = [];
        var j = 0 ;
        for(var i = 0 ; i < arr.length ; i++){
            if(arr[i]>=10){
                newarr[j] = arr[i];
                j++;
            }
            
        }
        console.log(newarr);
    </script>
</body>
</html>

五、翻转数组

问题一:将数组arr = [ 1 , 2 , 3 , 4 , 5]翻转成 newArr = [ 5 , 4 , 3 , 2 , 1 ] 。

  1. 令for循环里面的 i = arr.length - 1 , 因为length是数组的个数,数组是从零开始的,所以在length基础上减一,就是数组中的最后一个元素,然后条件表达式令 i>=0 ,然后令 i 自减 。
  2. arr中最后一个数赋值给newArr的第一个也就是用newArr.length表示索引,从零开始。然后令 i 自减 。
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <script>
        // 问题:将数组arr = [ 1 , 2 , 3 , 4 , 5]翻转成 newArr = [ 5 , 4 , 3 , 2 , 1 ] 
        var arr = [ 1 , 2 , 3 , 4 , 5];
        var newArr = [];
        for(var i = arr.length - 1  ; i >= 0  ; i--){
            newArr[newArr.length] = arr[i];  
        }
        console.log(newArr);
    </script>
</body>
</html>

六、交换两个变量

问题一:将num1 和 num2 的值交换。

  1. 声明一个空的变量temp,用来装num1的值。
  2. 把temp = num1; num1 = num2 ; num2 = temp;。
  3. 交换完成。
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <script>
        var num1 = '第一个';
        var num2 = '第二个';
        var temp;
        temp = num1 ; //temp = '第一个';
        num1 = num2 ; //第二个
        num2 = temp ; //第一个
        console.log(num1 , num2);
        
    </script>
</body>
</html>

七、冒泡排序(下一章单独笔记)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忧郁火龙果

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值