03-JavaScript

126 阅读1分钟

JavaScript第三天

for循环

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

 for (起始条件; 循环条件; 变化量) {
        循环体
 }

退出循环

​ break:退出整个循环

​ continue:退出当次循环

let arr = ['虾饺', '蒸排骨', '虫子', '红米肠', '糯米鸡']
​
     for (let i = 0; i < arr.length; i++) {
     if (arr[i] === '虫子') {
     console.log('我吃到虫子了,爷不吃了')
          // 终止循环
          // continue
          break
     }
     console.log(`我吃了${arr[i]},好开心啊`);
}

循环嵌套


for (let i = 1; i <= 3; i++) {
    document.write(`今天是第${i}天<br>`)
​
    for (let j = 1; j <= 5; j++) {
        document.write(`我记住了今天第${j}个单词<br>`)
    }
​
    document.write(`<br>`)
}

打印五行五列小星星


// 用户输入对应的行数和列数 打印对应的星星★
// 先打印 3行// 利用prompt 收集用户输入的行数和 列数
let row = +prompt('请输入行数')
let col = +prompt('请输入列数')
​
for (let i = 1; i <= row; i++) {
    for (let j = 1; j <= col; j++) {
        document.write(`★`)
    }
    document.write(`<br>`)
}

打印倒三角形星星


// 1. 打印五行出来
for (let i = 1; i <= 5; i++) {
    for (let j = 1; j <= i; j++) {
        document.write(`★`)
    }
    document.write(`<br>`)
}

打印99乘法表


// 1. 打印几行? 9行
// 2. 每行打印几个div? 当前行数个div// 外层循环 1 - 9for (let i = 1; i <= 9; i++) {
    for (let j = 1; j <= i; j++) {
        document.write(`<div>${j} x ${i} = ${i * j}</div>`)
    }
    document.write(`<br>`)
}

数组遍历


for (let i = 0; i < arr.length; i++) {
    console.log(arr[i]);
}

数组操作

增加数组元素

​ push() 在数组最后面增加一个数组元素


let arr = ['red', 'green']
arr.push('blue')
console.log(arr)

​ unshift() 在数组最前面增加一个数组yuans


let arr = ['red', 'green']
let res = arr.unshift('blue', 'orange')
console.log(arr);
console.log(res);

筛选数组案例


// 将数组  [2, 0, 6, 1, 77, 0, 52, 0, 25, 7] 中大于等于 10 的元素选出来,放入新数组
// 1. 准备一个空数组
let newArr = []
// 2. 创建筛选数组
let arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7]// 循环遍历
for (let i = 0; i < arr.length; i++) {
    // 如果遍历的当前项目 大于等于10 
    if (arr[i] >= 10) {
        // 我要把当前项推入到newArr中
        newArr.push(arr[i])
    }
}
console.log(newArr);

删除数组案例

​ pop() 在数组最后面删除一个数组元素


let arr = ['李狗蛋', '张翠花', '赵铁柱']
console.log(arr.pop());
console.log(arr);

​ shift() 在数组最前面删除一个数组元素


let arr = ['李狗蛋', '张翠花', '赵铁柱']
console.log(arr.shift());
console.log(arr);

​ splice(起始索引,删除几个元素) 删除几个元素的值如果不写则代表从起始位置删到最后


let arr = ['李狗蛋', '张翠花', '赵铁柱', '貂蝉', '西施', '王昭君', '杨玉环']
// 如果第二个值省略,则代表一直删除到最后
// arr.splice(3)
// 当索引为负值的时候 代表数组中倒数第几个元素
// arr.splice(-1, 1)
console.log(arr.splice(1, 4));

冒泡排序


let arr = [5, 4, 3, 2, 1]
for (let i = 1; i <= arr.length - 1; i++) {
    document.write(`这是第${i}轮的交换`)
    // 内层循环?次 + 当前的轮次 = 数组的长度
    // 内层循环?次 = 数组的长度 - 当前的轮次
    // 内层循环?次 = arr.length - i
​
    for (let j = 1; j <= arr.length - i; j++) {
        // document.write(`<br>我要交换啦<br>`)
        if (arr[j - 1] > arr[j]) {
            let temp = arr[j - 1]
            arr[j - 1] = arr[j]
            arr[j] = temp
        }
    }
    document.write(`<br>`)
}
console.log(arr);
// let num1 = 10
// let num2 = 20
​
// // 还要创建一个临时变量
// let temp = num1
// num1 = num2
// num2 = temp
// console.log(num1, num2);

\