js基础(小知识)循环和数组

251 阅读2分钟

u=3384603293,1668567398&fm=224&app=112&f=JPEG.jpg

循环和数组

循环for**-基本使用**

1. for循环语法

也是重复执行代码

好处:把声明起始值、循环条件、变化值写到一起,让人一目了然

1648468016602.png

案例:

<script>
        // 求偶数的和
        let num= 0;
        for (let index = 1; index <=100; index++) {
            if(index%2==0) {
                num = num + index;
            }
            
        }
        console.log(num);

      /*   for (let index = 1; index <=500; index++) {
            document.write('<div>🔻</div>')
            
        } */


    </script>

1.2 循环退出

循环结束:

continue:结束本次循环,继续下次循环

break:跳出所在的循环

1.3 for 循环嵌套

1648468224258.png

案例:

    <script>
        // 3天背单词
     /*    for (let index = 1; index <=3; index++) {
            document.write(`第${index}天<br/>`)
            for (let index1 = 1; index1 <=5; index1++) {
            document.write(`第${index1}个单词 <br/>`)
                
            }
            
        } */


        // 用户决定天数和单词数
        let num = +prompt('要被多少天')
        let num1 = +prompt('一天打算背多少个')
        for (let index = 1; index <=num; index++) {
            document.write(`第${index}天<br/>`)
            for (let index1 = 1; index1 <=num1; index1++) {
            document.write(`第${index1}个单词 <br/>`)
                
            }
            
        }
    </script>

数组

2.1 数组是什么

数组(Array)是一种可以按顺序保存数据的数据类型

为什么要数组?

如果有多个数据可以用数组保存起来

2.2 数组的基本使用

1648639712294.png

<script>
    // <!--          0      1     2      3      4     5 -->
        let atr = ['你好','嘿嘿','公共','啊啊','擦擦','人人'];
        console.log(atr);


        // 定位输出
        console.log(atr[3]);
    </script>

数组是按顺序保存,所以每个数据都有自己的编号

计算机中的编号从0开始,所以小明的编号为0,小刚编号为1,以此类推

在数组中,数据的编号也叫索引或下标

数组可以存储任意类型的数据

1648639763339.png

1648639833772.png

案例:

求数组 [2,4,5,7,2] 里面所有元素的和

    <script>
        let arr = [2,4,5,7,2];
        let num = 0;
        for (let index = 0; index < arr.length; index++) {
            num += arr[index]
            
        }
        console.log(num);
    </script>

案例:

求数组 [2,33,44,6,7,99,1] 中的最大值

 <script>
        let arr = [2,33,44,6,7,99,1];
        // 假设一个最大值为第一个
        let num = arr[0]
        for (let i = 0; i < arr.length; i++) {

            // 当arr[i]大于num的时候,num就等于arr[i],一直循环下去就能找到最大值了
            if (arr[i] > num) {
                num = arr[i]
            }

            
        }
        document.write(num)

2.3 操作数组

1648640103842.png

arr.push实例:

1648640718643.png

arr.push是把元素添加到结尾的**

   <script>

    // push  是添加到结尾的
        let arr = [];
        for (let index = 0; index <=4; index++) {
          let num = +prompt('请输入')
            arr.push(num) 
            
        }
        console.log(arr);
    </script>

arr.pop实例:

1648640982347.png 从数组中删除最后一个元素

 <script>
        let arr = [12,44,55,66,77,9,5,34,23,4]
        arr.pop();
        document.write(arr)
    </script>

arr.unshift实例:

1648640694372.png

arr.unshift是给元素加在数组的开头的

 <script>
      let arr = ['black', 'red'];

      //  push  是把新的元素 设置到 数组的末位
      // arr.push('yellow');

      // unshift 是把新的元素 设置到数组的开头
      arr.unshift("yellow");

      console.log(arr);
      /* 
      数组添加元素的总结

      1 两种元素添加元素的方式
        push  末位
        unshift 开头添加元素   

      2 在开发中    push 用得最多  , unshift 了解即可  
       */
    </script>

arr.splice实例:

1648641097035.png 解释:

start 起始位置:

指定修改的开始位置(从0计数)

deleteCount:

表示要移除的数组元素的个数

可选的。 如果省略则默认从指定的起始位置删除

到最后

  <script>
      let arr = ['西瓜', '香蕉', '麻瓜'];
      // 现在想要删除 香蕉

      // splice("想要删除的元素的下标","想要删除几个");

      // 删除数组中的下标为1的元素,
      // 从 1 的位置开始 想要删除几个
      // arr.splice(1, 2);
      //
      // console.log(arr);

      //  指定位置来插入元素
      // splice("想要删除的元素的下标","想要删除几个","在该下标位置添加元素");

      // 在 1的位置,删除0个元素,增加一个红薯
      // let arr = ['西瓜', '香蕉', '麻瓜'];
      // ['西瓜', '红薯', '香蕉', '麻瓜'];
      arr.splice(1, 1, '红薯');
      console.log(arr);
    </script>

arr.shift实例:

1648641046765.png 从数组中删除第一个元素

   <script>
      let arr = ['西瓜', '香蕉', '麻瓜'];
      // 希望删除掉第一个元素  
      arr.shift();

      console.log(arr);// 
    </script>

案例:

将数组 [11,22,1,3,4,66,7,888,5,33,3,2] 中大于等于 10 的元素选出来,放入新数组

 // 将数组中大于10的元素选出来,放进新数组
        let num = [11,22,1,3,4,66,7,888,5,33,3,2];
        let num1 = [];
        for (let i = 0; i < num.length; i++) {
            if (num[i] > 10) {
                num1[num1.length] = num[i]
            }
            
        }
        document.write(num1)

案例:

将数组 [234,4,5,6,0,0,4,0,543,0,7,8,0,6,9,7,97,7,6,7,44,4,1] 中的 0 去掉后,形成一个不包含 0 的新数组

    <script>
        let arr = [234,4,5,6,0,0,4,0,543,0,7,8,0,6,9,7,97,7,6,7,44,4,1]
        let num = [];
        for (let i = 0; i < arr.length; i++) {
            if (arr[i] !== 0) {
                num[num.length] = arr[i]
            }
            
        }
        document.write(num)
    </script>