zoukankan      html  css  js  c++  java
  • js数组删除数组元素!收集

    数组就是由许多名称相同的变量聚集在一起,数组的用法和普通变量是完全一样的,它也可以存入任何数据类型,唯一的不同点是它在内存中占据的是一块连续的空间,您可以依序给它们编号,再依编号来使用它们。数组的好处在于它可以一次声明和使用多个变量。JAVAScript数组的使用方法和VBScript有所不同,使用的时候要用中括号“[]”括起来,不同的变量中间用逗号“,”隔开。
    var 数组名;
    数组名 = [1,.....,n];

    例:我要定义一个数组“fruit”,它要包含三种水果“西瓜”、“苹果”、“香蕉”,我们就要这样写:

    var fruit;
    fruit = ["西瓜","苹果","香蕉"];    //给数组内三种水果赋值

    这时“fruit[0]”就是“西瓜”,“fruit[1]”就是“苹果”,“fruit[2]”就是“香蕉”,“fruit”就是“西瓜,苹果,香蕉”。(JAVAScript会从“0”开始计数,这个原则一定要记住。)

    如果您要重新给数组内变量赋值,如将“苹果”改成“草霉”就要这样写:

    fruit = ["西瓜","苹果","草霉"];    //重新给数组“fruit”内的变量赋值

    因为数组内的变量“fruit[0]”、“fruit[1]”不变,你也可以这样写:

    fruit = [fruit[0],fruit[1],"草霉"];    //更改“fruit”数组内的变量“fruit[2]”为“草霉”

    注意:即使变量“fruit[0]”、“fruit[1]”的值不更改,但也一定要写上,不然就会丢失原来的值变成“undefined”。

    其实数组的变量并不需要都写出来,如果您将这个数组写成这样:

    var fruit;
    fruit = ["西瓜", ,"草霉"];    //给数组内三种水果赋值

    这时“fruit[0]”就是“西瓜”,“fruit[1]”就是“undefined”,“fruit[2]”就是“草霉”,“fruit”就是“西瓜,,草霉”。

    如果您将这个数组写成这样:

    var fruit;
    fruit = ["西瓜","香蕉", ,];    //给数组内四种水果赋值

    这时数组内有四个变量“fruit[0]”就是“西瓜”,“fruit[1]”就是“草霉”,“fruit[2]”就是“undefined”,“fruit[3]”就是“undefined”,“fruit”就是“西瓜,草霉,,”。

    以下举个例子:

    <Script Language = "JAVAScript">
    <!--
        
    var fruit;    //声明数组(变量)
        fruit = ["西瓜","香蕉","苹果"];    //给数组内三种水果赋值
        //第一次显示数组“fruit”的3个变量内容,<br>是换行符
        document.write(fruit[0+ "<br>" + fruit[1+ "<br>" + fruit[2+ "<br>" + fruit);
        document.write(
    "<hr>");    //插入水平线做为分隔线
        fruit = [fruit[0],fruit[1],"草霉"];    //更改“fruit”数组内的变量“fruit[2]”为“草霉”
        //第二次显示数组“fruit”的3个变量内容,<br>是换行符
        document.write(fruit[0+ "<br>" + fruit[1+ "<br>" + fruit[2+ "<br>" + fruit);
        document.write(
    "<hr>");     //插入水平线做为分隔线
        fruit = ["西瓜", ,"草霉"];    //重新给数组“fruit”内的变量赋值
        //第三次显示数组“fruit”的3个变量内容,<br>是换行符
        document.write(fruit[0+ "<br>" + fruit[1+ "<br>" + fruit[2+ "<br>" + fruit);
        document.write(
    "<hr>");    //插入水平线做为分隔线
        fruit = ["西瓜","香蕉", ,];    //重新给数组“fruit”内的变量赋值,使数组增长到4个变量
        //第四次显示数组“fruit”的4个变量内容,<br>是换行符
        document.write(fruit[0+ "<br>" + fruit[1+ "<br>" + fruit[2+ "<br>" + fruit[3+ "<br>" + fruit);
        document.write(
    "<hr>");    //插入水平线做为分隔线
    -->
    </Script>




    注:JAVAScript数组与VBScript的数组不单在语法上不同,在使用时也有众多不同之处,请注意区分。
     
    一、建立数组对象
    我们再介绍JAVAScript的数组对象的建立方法。(其实这种方法和前面的方法在本质上是一样的,只是在语句的写法上有所区别,上面的方法在程序很短的时使用比较简洁,在一般情况下我还是建议您用以下方法建立数组对象。)建立数组对象的语法有两种:

    1、在声明数组时仅仅声明数组内有几个组件。

    var 数组对象名称 = new Array(组件个数);

    fruit = new Array(3);    //声明名为fruit的数组,共有三个组件,这就相当于一次声明了三个变量

    然后必须另行准备几行程序代码,代序将变量值填入。

    fruit[0] = "西瓜";
    fruit[1] = "苹果";
    fruit[2] = "香蕉";

    2、声明时直接给定所有数组组件,彼此之间用逗号隔开,用小括号括起来,组件个数就是数组长度。

    var 数组对象名称 = new Array(组件一......,组件N);

    var fruit = new Array("西瓜","苹果","香蕉");

    注:在一般语言中数组内的组件必须是相同类型的值,但是在JAVAScript当中可以将不同类型的数据放入数组中。
     
     
    二、数组对象的属性
     
    JAVAScript为数组对象提供以下几种属性:

    使用格式:
    数组对象名称.属性
     
     
    序 属性名称 使用说明
    1 constructor 指定建立地象原型(prototype)函数
    2 index 代表数组组件的索引值
    3 input 代表规则表达式中的字符串。
    4 length 取得数组长度(数组组件个数)。
    5 prototype 用以建立自定义的对象属性
     
     
    三、数组对象的方法
     
    JAVAScript为数组对象提供以下多种方法:

    使用格式:
    数组对象名称.方法(参数)
     
     
    序 方法名称 使用说明
    1 concat(数组1,数组2,...,数组N) 将多个数组结合成一个新的数组
    2 join(分隔字符) 将数组结合成一个字符串,用特定字符来分开
    3 pop() 将数组内最后一个组件删除,并返回该组件内容
    4 push(组件1,组件2,...,组件N) 将一个或多个组件补在数组最后面,并返回最后一个组件内容
    5 reverse() 将数组内所有组件的索引次序反转(Transpose)
    第一个组件变成最后一个,最后一个组件则拿到最前面
    6 shift() 将数组内第一个组件删除,并返回该组件内容
    7 slice(开始索引,结束索引) 将数组内容转入一个新的数杉
    8 sort() 将数组内容排序
    9 splice() 增加或删除数组组件
    10 toSource() 返回代表特定数组的数组常数,可以用来建立新的数组
    11 toString() 以字符串来表示该数组及其组件
    12 unshift(组件1,组件2,...,组件N) 将一个或多个组件补在数组最前面,并返回最后数组长度
    13 valueOf() 取得数组值
     
     
    注:其中有些方法,例如:push、shift、unshift……在有些版本的IE浏览器还不支持,使用时应特别注意。
      
    举例:

    <Script language = "JAVAScript">
    <!--
        var fruit = new Array("西瓜","香蕉","苹果");    //声明数组并给数组内三种水果赋值
        //第一次显示数组“fruit”的3个变量内容,<br>是换行符
        document.write(fruit[0] + "<br>" + fruit[1] + "<br>" + fruit[2] + "<br>" + fruit);
        document.write("<hr>");    //插入水平线做为分隔线
        //第二次显示数组,<hr>是插入水平线做为分隔线
        with (document)    {
        write(fruit.reverse() + "<hr>");    //将数组反转
        write(fruit.join("、") + "<hr>");    //将数组结合成一个字符串,用“、”分开
        write(fruit.sort() + "<hr>");    //将数组内容排序
        write(fruit.length + "<hr>");    //计算出数组的长度
        }
    -->
    </Script>
     
     
     
    三、二维数组
     
          JAVAScript的数组对象其实只是一维的结构,但是我们可以利用对一维数组的进一步设计与利用,将数组放进数组当中,让数组内的组件也是数组,就构成JAVAScript的二维数组了。不过二维数组在使用上容易发生错误,所以我们这里只介绍一下它的概念,并不推荐使用。





    /**********************************************************/
    js删除数组元素 :

       <script language="javascript" type="text/javascript">
    Array.prototype.del
    =function(n) {  //n表示第几项,从0开始算起。
    //
    prototype为对象原型,注意这里为对象增加自定义方法的方法。
      if(n<0)  //如果n<0,则不进行任何操作。
        return this;
      
    else
        
    return this.slice(0,n).concat(this.slice(n+1,this.length));
        
    /*
          concat方法:返回一个新数组,这个新数组是由两个或更多数组组合而成的。
                这里就是返回this.slice(0,n)/this.slice(n+1,this.length)
               组成的新数组,这中间,刚好少了第n项。
          slice方法: 返回一个数组的一段,两个参数,分别指定开始和结束的位置。
        
    */

    }

    //我们来试一试这个自己增加的方法
    var test=new Array(0,1,2,3,4,5);
    test
    =test.del(3);  //从0算起,这里也就是删除第4项。
    alert(test);
    </script>
    /************************************************************/

    1。JS数组有别于其他语言的一个重要特点是,他可以在不同行包含不同的数据类型,这也算JS这种弱类型语言的一个特色吧!

    2。JS数组还有个大的特色就是不支持多维数组,这点不如VBS,赫赫,但是也不是没有办法,我们可以在数组中包含数组,或者使用关联数组
    3。var al=new Array(1,2,3,4,5,6,7,8,9,"天轰穿","javascript入门系列","vs2005系列控件演示")//申明一个数组al ,并赋初始值
    //下面两句是在数组的指定位置插入两个元素,这样,初始的的元素就会顺延
    al[5]="thcjp";
    al[9]=8867;
    //以下是读取
    for(var i=0;i<al.length;i++)
    {//申明一个值为0的变量 i ,循环到数组的最大项
     document.write(i+1 +"·<b>"+al[i]+"</b><br>");//在屏幕上打印出数组的所有元素,这里可以注意下括号内的代码
    }

  • 相关阅读:
    通过pwndbg看看c中局部变量是如何在stack上放置的 此外 printf %n的作用终于弄明白了
    pip 安装过慢 使用清华源 加速
    mac 10.15.6 安装 IDA
    使用机器学习检测命令行混淆
    安全技能树简版
    栈溢出 hack 入门例子 hello world
    201116西瓜书机器学习系列---8、集成学习
    legend2---某些js代码电脑浏览器支持,手机浏览器不支持的调试
    legend2---做题页的每个题目对应的答案重点标颜色
    legend2---jquery重新渲染某元素
  • 原文地址:https://www.cnblogs.com/simhare/p/870373.html
Copyright © 2011-2022 走看看