分享Js小基础(4)

144 阅读3分钟

循环和数组

一、循环-for

1、for循环语法:也是重复执行代码

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

1648550717655.png

2、循环退出

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

<script>
        // 举例:
        //只显示 奇数 单数
        for (let index = 1; index <= 10; index++) {
            // 判断当前的Index是不是奇数
            if(index%2!==0) {
                // 不是偶数的话他就显示(只显示奇数)
                // console.log(index)
                // 不是偶数的话就跳过,输出后面的显示偶数
                continue
            }
            console.log(index)
        }
    </script>

1648556677111.png

break:跳出所在的循环

   <script>
   // break举例:
        for (let index = 1; index <=10; index++) {
            //如果当前的index等于5,就不再往下循环,直接结束
            if(index===5) {
                break;
            }
            console.log(index)
        }
        
    </script>

1648556753289.png

3、循环嵌套

for 循环嵌套:一个循环里再套一个循环,一般用在for循环里

1648557358137.png

案例: 计算: 假如每天记住5个单词,3天后一共能记住多少单词? 拆解: 第一天 : 5个单词 第二天: 5个单词 第三天: 5个单词

  <script>
        // 1天 背5个
        // 2天 背5个
        // 3天 背5个
      	如果是手动输入的话可以套进去
        // let num1=+prompt('输入天数')
        // let num2=+prompt('输入记单词数')

        // 外面表示每一天 
    for (let index1 = 1; index1 <=3; index1++) {
        document.write(`第${index1}天<br/>`)
        // 里面表示每天记多少 
        for (let index2 = 1; index2 <= 5; index2++) {
        document.write(`记${index2}单词<br/>`)
    }
    }
   </script>

1648558940100.png

二、数组

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

为什么要数组? 思考:如果我想保存一个班里5个人的姓名怎么办? 如果有多个数据可以用数组保存起来

2、基本使用:

①声明语法 let 数组名=[数据1,数据2,数据3,.....,数据n]

例:

let names=['小明','小刚','小红','小丽','小米']

(1)数组是按顺序保存,所以每个数据都有自己的编号 (2)计算机中的编号从0开始,所以小明的编号为0,小刚编号为1,以此类推 (3)在数组中,数据的编号也叫索引或下标 (4)数组可以存储任意类型的数据

②取值语法 数组名[下标]

let names=['小明','小刚','小红','小丽','小米']

names[0]
names[1]

通过下标取数据 取出来是什么类型的,就根据这种类型特点来访问

②一些术语:

元素:数组中保存的每个数据都叫数组元素 下标:数组中数据的编号 长度:数组中数据的个数,通过数组的length属性获得

 <script>
        let name=['小罗','小陈','小丽','小爱','小美' ]

        console.log(name[0]) 小罗
        console.log(name[3])  小丽
        console.log(name.length) 5(一共5个)
       
    </script>
③遍历数组:

用循环把数组中每个元素都访问到,一般会用for循环遍历 语法:

 <script>
       let arr=['10','20','30','40','50',]
       for (let index = 0; index <arr.length; index++) {
        // index从0开始变化1 2 3 4
        console.log(index) ;
       }
       
   </script> 

1648650911639.png 使用 数组做for循环固定写法: 1、 let index= 0 ; 2 、判断循环的条件: index < 数组的长度

三、操作数组

数组本质是数据集合, 操作数据无非就是 增 删 改 查 语法:

1648653756811.png

1. 数组增加新的数据
①数组.push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度 (重点)

演示:


<script>
      // 定义一个数组
      let arr = ['苹果', '香蕉'];

      // 多增加一个元素
      arr.push("西瓜");

      console.log(arr);//显示苹果,香蕉,西瓜
    </script>

1648741341771.png

案例:

1648741807226.png


<script>
      //  把数组中 大于等于10元素 存放到新的数组
      let arr1 = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
      // 存放过滤好元素的数组
      let arr2 = [];

      // 对 第一个数组 循环
      for (let index = 0; index < arr1.length; index++) {
        // 判断当前的循环的元素 和 10 直接的关系
        if (arr1[index] >= 10) {
          // 需要把当前的这个元素 添加到新数组中
          arr2.push(arr1[index]);
        }
      }
      console.log(arr2);最终显示77,52,25
    </script>
②arr.unshift(新增的内容) 方法将一个或多个元素添加到数组的开头,并返回该数组的新长度

演示:

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

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

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

      console.log(arr);最终显示yellow,black,red

    </script>
2.数组删除元素
①数组. pop() 方法从数组中删除最后一个元素,并返回该元素的值
②数组. shift() 方法从数组中删除第一个元素,并返回该元素的值
	<script>
        let arr=['你','我','他',]
        arr.pop();
        document.write(arr)//显示我,他,  (你已被删掉)
    </script>
③数组. splice() 方法 删除指定元素
<script>
    let arr=['你','我','他','它']

    // splice('想要删除的元素下标','想要删几个')
    arr.splice(1,1) //删除我(从0开始数我的下标是1,从我开始数要删除几个就写几)
    console.log(arr)
  </script>

splice也有增加元素的功能哟:

<script>
    let arr=['你','我','他','它']
    arr.splice(1,0,'她')
    console.log(arr)
  </script> 
	在1的位置,删除0个元素,并且在1的前面添加了'她'
	[你,她,我,他,它]

注意: 1.start 起始位置: 指定修改的开始位置(从0计数) 2.deleteCount:
表示要移除的数组元素的个数 可选的。 如果省略则默认从指定的起始位置删除到最后

补充
1、获取数组最后一个元素:arr.length-1
<script>
    let arr=['你','我','他','它'];
    // arr.length-1:(表示数组的长度,有4个元素,4-1=3)
    console.log(arr[arr.length-2]);//0开始数第3个选中它
  </script> 
2、新增和修改数组

新增:

<script>
	let arr=['你','我','他','它'];
    // 这数组只有0123,没有4,也可以添加进去
    arr[4]='她'document.write(arr)//显示你,我,他,它,她
  </script>
 	如果arr[10],要是10的位置有元素会被修改,没有的话
    最终数组的长度会变成10,4,5,6,7,8,9,会是undefined

修改:


<script>
    let arr=['你','我','他','它'];
    // 把我修改成我们
    arr[1]='我们'document.write(arr)//显示你,我们,他,它
  </script> 
3、数组快速清空或者删除元素的方式
 <script>
    let arr=['你','我','他','它'];
    // 1.保留前两个元素
    arr.length=[2]
    // 2.请空元素
    arr.length=0
    console.log(arr)
  </script> 
小知识:

1、 数组可以存放任意类型的数据,但是不建议这个存放,一组的数据尽量要统一(可以但没必要)

 <script>
    let arr=['你',null,true,NaN,undefined,100];
    console.log(arr)
  </script> 

1648749892963.png

2、 属性和方法: 属性的用法一般结合等于号=或者不用 如:(arr.length=1) 方法的用法是一定要有括号 如:arr.push()