zoukankan      html  css  js  c++  java
  • js数组

    shift unshift pop push splic delete


    shift和unshift是数组第一个元素

    shift:

     var array=[1,2,3,4]
        var ret=array.shift();
        console.info(array);  //Array(3) [ 2, 3, 4 ]
        console.info(ret);//1 返回第一个元素,即删除的元素

    unshift:

      var array=[1,2,3,4]
        var ret =array.unshift("a");
        console.info(array);//Array(5) [ "a", 1, 2, 3, 4 ]
        console.info(ret);//5 返回数组长度

    pop和push遵循栈先进后出,是数组最后一个元素

    pop删除最后元素

    var a = [1,2,3,4,5];
    
    var b = a.pop(); //a:[1,2,3,4] b:5

    push在数组最后面加

    var a = [1,2,3,4,5];
    
    var b = a.push(6,7); //a:[1,2,3,4,5,6,7] b:7

    splice(起始索引,从包括起始索引删除的数量,在删除的位置新增的元素,在删除)

     var array=[1,2,3,4]
        var ret =array.splice(0,1,2,3);删原数组元素1,新增加2,3,
        console.info(array); //Array(5) [ 2, 3, 2, 3, 4 ]  
    array.splice(0,1)=shift()
    array.splice(0,0,元素1,元素2....)=unshift(元素1,元素2...)

    splice删除数组连同索引一起删除,而delete删除,还保留原索引


    delete

        var array=[1,2,3,4]
        var ret =delete array[0];
        console.info(array); //  
    Array(4) [ <1 empty slot>, 2, 3, 4 ]  empty slot空,值为空,但索引还在
    console.log(array[0]); //undefined
    //遍历delete会跳过undefinded值
    for
    (i in test) { console.log(test[i]) }

    不仅可以删除数组,还可以删除对象的属性

     var obj={"age":12,"name":"张三"};
         console.log(obj.age); //12
        delete obj.age;  
        console.log(obj.age);//undefined
        console.log(obj);//name: "张三" ,属性彻底删除了,不存在什么索引还在

     

    但不能删除变量:

    var name = 'lily';
    delete name;
    console.log(name); //lily

    原型链也删除不了

    obj.prototype.age = 18;
    delete obj.age;
    console.log(obj.age) //18

    remove: dom文档删除dom节点

    从下拉列表删除选项。
    <html> <head> <script type="text/javascript"> function removeOption() { var x=document.getElementById("mySelect") x.remove(x.selectedIndex) } </script> </head> <body> <form> <select id="mySelect"> <option>Apple</option> <option>Pear</option> <option>Banana</option> <option>Orange</option> </select> <input type="button" onclick="removeOption()" value="Remove option"> </form> </body> </html>


    String.split() 执行的操作与 Array.join 执行的操作是相反的。

    split()把一个字符串分割成字符串数组

    如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

    "2:3:4:5".split(":")	//将返回["2", "3", "4", "5"]
    "|a|b|c".split("|")	//将返回["", "a", "b", "c"]
       var a="a.a.a.s.d";
     var b=  a.split(".");//js不需要转义,java需要
     console.log(a);//a.a.a.s.d
       console.log(b);//Array(5) [ "a", "a", "a", "s", "d" ]

    join()是一个数组转字符串

    var arr = [ "a", "b", "c", "d", "e" ];
    
    arr.join();  得到 a,b,c,d,e//参数不写,默认是,
    arr.join("-"); 得到 a-b-c-d-e

    java与js的split方法的结果: 
    使用java中的split()里面的参数为正则表达式,但是对“,”也支持,。对|或者$均需使用\进行转义。js不存在该问题。 

    java :split(".");需要转义 

  • 相关阅读:
    VScode 修改中文字体
    missing KW_END at ')' near '<EOF>'
    SQL inner join, join, left join, right join, full outer join
    SQL字符替换函数translater, replace
    SQL COOKBOOK SQL经典实例代码 笔记第一章代码
    sqlcook sql经典实例 emp dept 创建语句
    dateutil 2.5.0 is the minimum required version python
    安装postgresql后找不到服务 postgresql service
    Postgres psql: 致命错误: 角色 "postgres" 不存在
    【西北师大-2108Java】第十六次作业成绩汇总
  • 原文地址:https://www.cnblogs.com/fpcbk/p/9866359.html
Copyright © 2011-2022 走看看