js基础(二)

第五天

02-语言基础-第02天{语句、数组}

  • 第五天
    • for循环
      • 打印直角三角形
      • 打印99乘法表
    • while循环
    • do while循环
    • break
    • continue
    • 数组
      • 申明和使用数组
      • 数组的遍历
    • 数组练习
    • 冒泡排序

for循环

1、初始化表达式 2、控制表达式 3、循环后表达式
for(var i=0; i < 100; i++){

        // 需要执行的代码
}

打印直角三角形

for (var i = 1; i <= 10; i++) {
    for (var j = 1; j <= i; j++){

        document.write("☆");
    }
    document.write("
"); }

打印99乘法表

for (var i = 1; i < 10; i++) {
    for (var j = 1; j <= i; j++) {
        document.write(j + "*" + i + "=" + i * j);// 1 * 1 = 1
        document.write(" ");
    }
    document.write("
"); }

while循环

while(判断条件/bool值){

    // 如果满足条件(bool值为true),则执行这里面的代码

}
// 执行完毕后,再回到while判断是否满足条件,如果满足,继续执行{}中的代码

// 判断条件必须在{}中改变,否则就会是死循环

do while循环

do{

    需要执行的代码

}while(判断条件/bool值)

// 先执行一遍do中的代码,再去判断while中的条件是否满足,如果满足,继续执行do{}中的代码,如果不满足则不再执行

// 判断条件必须在{}中改变,否则就会是死循环

break

  • 作用:在循环内部结束循环

    while(true){
    
        break;
    }
    
    for(var i=0; i < 100; i++){
    
        console.log(i);//控制台只会打印0
        // 需要执行的代码
        break;
    }
    // 在循环内部遇到break,则循环结束不再继续执行
    
    

continue

  • 作用:结束本次循环,开始下一次循环

    while(true){
    
        continue;
    }
    
    for(var i=0; i < 100; i++){
    
        // 需要执行的代码
        console.log(i);//控制台会打印0~99
        continue;
        console.log(“这里的代码不会执行”);
    }
    // 在循环内部遇到continue,则本次循环结束,即continue后面的代码不再执行,马上开始执行下一次循环
    
    

数组

申明和使用数组

// 申明数组(两种方式)
var arr = new Array();
// var arr = [100,"99","true"];

// 给数组赋值
arr[0] = 100;
arr[1] = “99”;
arr[2] = true;

// 使用
console.log(arr[0]); // 100
console.log(arr[1]); // “99”

  • 数组的下标是从0开始的
  • 数组申明后长度无限
  • js中数组可以存储任意类型

数组的遍历

  • length:数组的长度

    console.log(arr.length); // 长度为3
    
    
  • 遍历数组

    for(var i=0; i < arr.length; i++){
        console.log(arr[i]);
    }
    // 100 "99" true
    
    

数组练习

  • 将字符串数组用|或其他符号分割

     var arr = ["a", "bb", "ccc", "dddd"];
     var str = arr[0];
     var seperator = "|";
     for (var i = 1; i < arr.length; i++) {
            str = str + seperator + arr[i];
     }
     console.log(str);
    
    
  • 求一个字符串数组中每项的长度,并把长度的数值存储到新的数组中

    var arr = ["a", "bb", "ccc", "dddd"];
    var newArr = [];
    for (var i = 0; i < arr.length; i++) {
        newArr[newArr.length] = arr[i].length;
    }
    console.log(newArr);
    
    
  • 将数组中值为0的项去掉,将不为0的值存入一个新的数组

    var arr = [55, 3, 0, 6, 7, 0, 8, 1, 78];
    var newArr = [];
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] !== 0) {
            newArr[newArr.length] = arr[i];
        }
    }
    console.log(newArr);
    
    
  • 翻转数组

    var arr = ["a", "bb", "ccc", "dddd"];
    var newArr = [];
    for (var i = arr.length - 1; i >= 0; i--) {
        //console.log(arr[i]);
        newArr[newArr.length] = arr[i];
    }
    console.log(newArr);
    
    

冒泡排序

// 乱序数组
    var array = [1,9,2,3,8,5,6,0,4,7];
    console.log(array);
    // 每一项都需要和其他项进行比较 总共比较 9次
    for (var i = 0;i < array.length - 1;i++){

        // 假设已经是顺序数组
        var sorted = true;

        for (var j = 0; j < array.length - 1 - i; j++) {

            // 相邻两个数进行比较 交换位置
            if (array[j] > array[j + 1]) {

                var temp = array[j + 1];
                array[j + 1] = array[j];
                array[j] = temp;
                sorted = false; // 进来这里说明不是顺序数组
            }
        }

        // 如果已经排好 跳出循环
        if (sorted == true) {
            break;
        }
    }
    console.log(array);

js基础(二)_第1张图片
冒泡排序懵逼.gif

你可能感兴趣的:(js基础(二))