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(".");需要转义 

  • 相关阅读:
    ssh认证
    Nginx中proxy_pass 后有无/的区别
    Nginx中$http_host、$host、$proxy_host的区别
    Nginx读书笔记----HTTP proxy module
    ngx_http_core_module模块提供的变量
    Nginx读书笔记三----资源分配
    http_code 413 Request Entity Too Large
    nginx读书笔记二----nginx配置
    firewall-cmd命令
    GCC编译器原理(一)03------GCC 工具:gprof、ld、libbfd、libiberty 和libopcodes
  • 原文地址:https://www.cnblogs.com/fpcbk/p/9866359.html
Copyright © 2011-2022 走看看