自学内容网 自学内容网

javascript 流程控制,数组【知识点整理】

JS 流程控制

条件控制语句

  • if 语句:用于在满足特定条件时执行代码块。

    if (condition) {
      // 如果条件为真,则执行代码块
    }
    
  • if…else 语句:在条件为真时执行一段代码,条件为假时执行另一段代码。

    if (condition) {
      // 如果条件为真,则执行代码块
    } else {
      // 如果条件为假,则执行代码块
    }
    
  • if…else if…else 语句:用于多个条件的判断。

    if (condition1) {
      // 如果条件1为真,则执行代码块
    } else if (condition2) {
      // 如果条件1为假且条件2为真,则执行代码块
    } else {
      // 如果条件1和条件2都为假,则执行代码块
    }
    
  • switch 语句:用于多个条件的判断,比多个 if…else 更清晰。

    switch (expression) {
      case value1:
        // 如果表达式等于value1,则执行代码块
        break;
      case value2:
        // 如果表达式等于value2,则执行代码块
        break;
      // ...
      default:
        // 如果表达式不等于任何case的值,则执行代码块
    }
    

循环语句

  • for循环:用于在满足特定条件时重复执行代码块。

    for (initialization; condition; final-expression) {
      // 代码块
    }
    

    打印二维表格:

    document.write("<table border='1'>");
            for(var i = 0; i<4 ;i++){
                document.write("<tr>");
                for(var j = 0 ;j<8 ; j++){
                    document.write("<td>第"+(i+1)+"行</td>")
                }
                document.write("</tr>");
            }
            document.write("</table>");
    

    九九乘法表:

     for(var i = 1 ; i < 10 ; i++){
                for(var j = 1 ; j<=i ;j++){
                    document.write("&nbsp"+j +"*"+ i +"="+ (i*j));
                }
                document.write("<br/>")
            }
    
  • while循环:当条件为真时重复执行代码块。

    while (condition) {
      // 代码块
    }
    
  • do…while 循环:至少执行一次代码块,然后检查条件是否为真,如果为真则继续循环。

    do {
      // 代码块
    } while (condition);
    
  • for…in 循环:遍历对象的属性。

    for (variable in object) {
      // 代码块
    }
    
  • for…of 循环:遍历可迭代对象(如数组、字符串等)的值。

    for (value of iterable) {
      // 代码块
    }
    

跳转语句:

  • break 语句:终止 switch 语句或循环的执行。
  • continue 语句:跳过当前循环的剩余代码,并开始下一次迭代。
  • return 语句:从函数中返回一个值,并终止函数的执行。
  • throw 语句:抛出一个错误,终止程序的执行。

异常处理:

  • try 块:尝试执行代码块。
  • catch 块:如果 try 块中抛出错误,则执行 catch 块。
  • finally 块:无论是否抛出错误,都会执行 finally 块中的代码。
try {
  // 尝试执行的代码块
} catch (error) {
  // 如果try块中抛出错误,则执行catch块
} finally {
  // 无论是否抛出错误,都会执行finally块
}

JS 数组

JavaScript中的数组是一种特殊的对象,用于存储多个值的有序集合。数组可以包含任意类型的值,包括数字、字符串、对象、函数,甚至是其他数组。以下是一些常用的数组操作方法:

  1. 创建数组

    var arr = new Array(); // 空数组
    arr[0] = "lee";  //赋值
    arr[1] = 12;
    
    var arr = new Array(10); // 长度为10的数组,初始值为undefined
    var arr = [1, 'Kimi', true, {name: 'Moonshot'}];
    
  2. 访问数组元素

    var arr = ['a', 'b', 'c'];
    console.log(arr[0]); // 输出 'a'
    
  3. 数组长度

    var arr = ['a', 'b', 'c'];
    console.log(arr.length); // 输出 3
    

数组的方法

  1. 添加元素

    push():在数组末尾添加一个或多个元素,并返回新的长度。
    unshift():在数组开头添加一个或多个元素,并返回新的长度。

    javascript

    var arr = [1, 2];
    arr.push(3); // [1, 2, 3]
    arr.unshift(0); // [0, 1, 2, 3]
    
  2. 删除元素

    pop():删除数组的最后一个元素,并返回被删除的元素。
    shift():删除数组的第一个元素,并返回被删除的元素。

    var arr = [1, 2, 3];
    arr.pop(); // [1, 2]
    arr.shift(); // [2]
    
  3. 遍历数组

    forEach():对数组中的每个元素执行一次提供的函数。
    map():创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。
    filter():创建一个新数组,包含通过所提供函数实现的测试的所有元素。
    reduce():对数组中的值进行汇总,将其减少为单个返回值。

    var arr = [1, 2, 3, 4];
    arr.forEach((item, index) => console.log(item, index)); // 遍历数组
    let squares = arr.map(item => item * item); // [1, 4, 9, 16]
    var even = arr.filter(item => item % 2 === 0); // [2, 4]
    var sum = arr.reduce((accumulator, currentValue) => accumulator + currentValue, 0); // 10
    
  4. 数组排序

    sort():对数组元素进行排序。

    var arr = [4, 2, 5, 1, 3];
    arr.sort((a, b) => a - b); // [1, 2, 3, 4, 5]
    
  5. 数组查找

    indexOf():返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
    lastIndexOf():返回在数组中可以找到一个给定元素的最后一个索引,如果不存在,则返回-1。

    let arr = [1, 2, 3, 4, 5];
    console.log(arr.indexOf(3)); // 2
    console.log(arr.lastIndexOf(3)); // 2
    
  6. 数组合并

    concat():用于合并两个或多个数组。

    var arr1 = [1, 2];
    var arr2 = [3, 4];
    var combined = arr1.concat(arr2); // [1, 2, 3, 4]
    
  7. 数组切片

    slice():提取原数组的片段,并返回一个新的数组。

    var arr = ['a', 'b', 'c', 'd', 'e'];
    var sliced = arr.slice(1, 3); // ['b', 'c']
    

这些是JavaScript数组的一些基本操作。数组是JavaScript中非常强大的数据结构,支持许多其他方法和操作。

   <script>
        // 冒号排序

        // var arr = [46,24,50,35,17,98];
        // for(var i = 0; i<=arr.length-1 ; i++){
        //     for(var j = 0 ; j<arr.length-i ; j++){
        //         if(arr[j]>arr[j+1]){
        //             var temp = arr[j];
        //             arr[j] = arr[j+1];
        //             arr[j+1] = temp;
        //         }
        //     }
        // }
        // console.log(arr);

        // 选择排序
         
        // var arr = [7,5,6,3,9,10,100,26,6];
        // var minIndex ,temp;
        // for(var i = 0 ; i<arr.length-1 ; i++){
        //     minIndex = i;
        //     for(var j = i+1 ; j<arr.length; j++){
        //         if(arr[minIndex]>arr[j]){
        //             minIndex = j;
        //         }
        //     }
        //     temp = arr[i];
        //     arr[i] = arr[minIndex];
        //     arr[minIndex] = temp;
        // }
        // console.log(arr)


        // 判断字符串中那个字符出现的最多和次数
        // var str = "jahdjaskkkkkkkkkkkkkkkk;;pkmAss";
        // var obj = {};
        // for(var i = 0 ; i < str.length ; i++){
        //     if(!obj[str[i]]){
        //         obj[str[i]] = 1;

        //     }else{
        //         obj[str[i]]++;
        //     }
        // }
        // console.log(obj);
        
        // var word = "";
        // var count = 0;
        // for(var key in obj){
        //     if(count<obj[key]){
        //         count = obj[key];
        //         word = key;
        //     }
        // }
        // console.log("出现最多的字符:"+word+"  出现次数:"+count);

        //数组去重
        // var arr = ["e",1,4,2,1,"e",6,"bb"]
        // var obj = {};
        // for(var i = 0 ; i<arr.length ;i++){
        //     obj[arr[i]] = "";
        // }
       
        // arr = [];
        // var i = 0;
        // for(var k in obj){
        //     arr[i] = isNaN(k)? k: Number(k);
        //     i++;
        // }
        // console.log(arr);


        <!--输出数组中两个值的和为目标值的下标-->
        // var arr = [1,2,4,6,7,3];
        // var indexs = [];
        // var target = 10;
        // var flag = false;
        // for(var i = 0 ; i<arr.length ; i++){
        //     for(var j = 0 ; j<arr.length ; j++){
        //         if(arr[i]+arr[j] == target){
        //             indexs = [i,j];
        //             flag = true;
        //             break;
        //         }
        //     }
        //     if(flag == true) break;
        // }
        // console.log(indexs);
        
        // 法二
        var arr = [1,2,4,6,7,2];
        target = 10;
        obj = {};
        indexs = [];
        for(var i = 0 ; i<arr.length ; i++){
            if(obj[arr[i]] === undefined){
                var x = target - arr[i];
                obj[x] = i;
            }else{
                indexs = [obj[x],i];
            }
        } 
        console.log(indexs);

    </script>

原文地址:https://blog.csdn.net/m0_74897683/article/details/143651664

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!