js数组的添加和删除

js中数组元素常用添加方法是直接添加、push方法以及unshift方法

        删除方法则是delete、pop、shift

        集修改方法为一身的则是splice

1、添加:

   (1)直接添加通常都是这样

    var arr=[];

    arr[0]="first";

    arr[1]="second";

   (2)push

    push方法向数组的末尾添加一个或多个元素,并返回新的长度

    var arr=["first","second"];  //arr.length=2

    arr.push("last");//  arr→["first","second","last"]    arr.length=3

   (3)unshift

    unshift方法将一个或多个元素添加到数组的开头,并返回新数组的长度。

    var arr=["first","second"];  //arr.length=2

    arr.unshift("last");//  arr→["last","first","second"]    arr.length=3

2、删除

  (1)delete

  var arr=["first","second","last"];

  delete arr[0];//arr→[undefined,"second","last"],arr.length=3;

  这种方式数组长度不变,此时test[2]变为undefined了,好处是原来数组的索引也保持不变,此时要遍历数组元素可以才用.这种遍历方式跳过其中undefined的元素,所以非常实用。

 

  (2)pop

  pop方法是与push对应的,pop() 方法将删除 数组的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。

  var arr=["first","second","last"];

  arr.pop();//arr→["first","second"],arr.length=2;

  (3)shift

  与unshift对应,删除第一个元素,数组长度-1,其他元素索引均-1,shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。

       如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。请注意,该方法不创建新数组,而是直接修改原有的 arrayObject。

3、splice

  splice方法是修改方法,具有添加和删除功能

  splice()的前两参数指定了需要删除的数组元素,紧随其后任意多个参数指定需要插入到数组的元素,以至于splice可以实现添加、删除和修改功能。实际上不是修改,只是先删除一个元素再把后面插入的元素插入到那个位置。

  添加:

  var arr=[1,2,3,4,5];

  arr.splice(2,0,"change");//arr→[1,2,"change",3,4,5]

  参数2代表索引值,参数0代表要改变的元素个数,最后一个参数代表要添加或者替换进去的元素。

  删除

  arr.splice(2,1);//arr→[1,2,4,5]  当然,也可以删除多个,修改第二个参数即可

实例

例子 1

在本例中,我们将创建一个新数组,并向其添加一个元素:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(2,0,"William")
document.write(arr + "<br />")

</script>

输出:

George,John,Thomas,James,Adrew,Martin
George,John,William,Thomas,James,Adrew,Martin

例子 2

在本例中我们将删除位于 index 2 的元素,并添加一个新元素来替代被删除的元素:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(2,1,"William")
document.write(arr)

</script>

输出:

George,John,Thomas,James,Adrew,Martin
George,John,William,James,Adrew,Martin

例子 3

在本例中我们将删除从 index 2 ("Thomas") 开始的三个元素,并添加一个新元素 ("William") 来替代被删除的元素:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(2,3,"William")
document.write(arr)

</script>

输出:

George,John,Thomas,James,Adrew,Martin
George,John,William,Martin
posted @ 2019-02-18 22:45  程序员小明1024  阅读(853)  评论(0编辑  收藏  举报