• 数据结构(数组)


    一、数组的适用场景

    一个标识符,储存多个数据(不同类型)

    二、创建一个数组

    字面量创建(声明)

    书写格式: 关键字  标识符  赋值符号  中括号  分号

    例子:    let    F68     =      []    ;  ---> let F68 =[];

    使用数组的书写格式

    数组名字[下标]

    注:如果写出来一个超出下标值的数组名字,永远反馈的是undefined

    数组.length代表数组的长度

    let F68 = [undefined, 1, "C"];

    console.log(F68.length); //3

    如果使用超出数组长度下标的值,会返回undefined

     

    构建函数创建

    书写格式: 关键字   标识符   赋值符号   new Array();

    例子:    let     F68       =     new Array();

     

    数据的增、删、改、查

    数组的方法:

    1、查找:遍历数组

    书写格式:

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

      

    for ......of   遍历数组中的每一个值

    for ......in   遍历数组中的每个下标

    1-1、查找数组中是否包含某个数值

    书写格式:
    数组.includes(查找的值)(可以查找NaN,而index Of和lastindex Of 无法查找)

    console.log(F68.includes(1));

    1-2、查找数组中是否有重复的值

    console.log(F68.indexOf(1));

    console.log(F68.lastindeOf(1)); 

    (以正序和倒序查找1,如果得到的下标一样,就没有重复。如果不一样,就有重复)

    2、增加

    2-1、 push方法在数组后面添加1到多个值

    let  F68  =  [undefined , 1 , "C"];
    
    F68.push(2);
    
    console.log(F68);

      注:push()  括号内可以添加多个值,每个值之间的分隔符是逗号

    2-2、unshift方法在数组面前添加1到多个值

    F68.unshift(false,"Lovo");
    
    console.log(F68);
    

      

    3、删除

    3-1、 pop方法,删除数组最后一个值

    F68.pop( );
    
    console.log(F68);
    

      

    3-2、shift 方法,删除数组第一个值

    F68.shift( );
    
    console.log(F68);
    

      

    4、修改

    4-1: slice方法,获取数组内容(不修改原数组)(返回的是一个满足条件的数组,没有满足,则返回空数组)

    给1个值:则获取从这个值(下标)到最后一个值的内容

    给2个值:   第一个值是起始下标

             第二个值是结束下标

    注:获取起始下标到结束下标的值,但不包含结束下标的值

    注:如果输入的值无效,则获取的内容为空,如果输入的负值,则用数组的长度与其相加

    例子1:

    let  F68  =  [undefined , 1 , "C"] ;
    
    let  F69  =  F68.slice(1);
    
    console.log(F69);
    
    console.log(F68); 
    

      

    例子2:

    let  F68  =  [undefined , 1 , 2 , 3 , 4 , 5 , 6];
    
    let  F69  =  F68.slice(3,5);
    
    console.log("F69:",F69);
    
    console.log("F68",F68);
    

      

    4-2:splice方法 (会修改原数组)

    给2个值:  第一个值代表起始位置

            第二个值代表截取个数

    给3个值:  第一个值代表起始位置

            第二个值: 如果是0代表插入 (在起始位置前面插入,第二个值后面的内容)

                   如果是1代表插入 (修改起始位置的内容为,第二个值后面的内容)

            第三个值:需要插入或修改的值

    给N个值:   第一个值代表起始位置

             第二个值: 如果是0代表插入 (在起始位置前面插入,第二个值后面的内容)

                   如果是1代表插入 (修改起始位置的内容为,第二个值后面的内容)

             第三个值:需要插入或修改的值

    ........

             第N个值:需要插入或修改的值

    let  F69  =  F68.splice(1,  1,  2);
    
    console.log(F69);
    
    console.log(F68);
    

      

    判断当前标识符是不是字符串

    let F68 = "123";
    
    typeof  F68=="string"
    

      

    判断当前标识符是不是数组

    let F69 = [1,2,3];
    
    if (Array.isArray(F69)){ }
    
    if (F69  instanceof  Array){ }
    

      

  • 相关阅读:
    mysql5.6 sql_mode设置为宽松模式
    utf-8 编码问题
    阿里云服务器挂载云盘
    maven打包含有多个main程序的jar包及运行方式
    AndroidStudio OpenCv的配置,不用安装opencv manager
    图片标注工具LabelImg使用教程
    关于tensorboard启动问题
    IntelliJ IDEA 最新激活码(截止到2018年10月14日)
    JetBrains C++ IDE CLion配置与评测
    Win10下Clion配置opencv3
  • 原文地址:https://www.cnblogs.com/x0815/p/14329207.html
Copyright © 2020-2023  润新知