向JavaScript的数组中添加元素的方法小结
在数组的开头添加新元素-unshift()
源代码:
<!DOCTYPEhtml> <html> <body> <pid="demo">Clickthebuttontoaddelementstothearray.</p> <buttononclick="myFunction()">Tryit</button> <script> functionmyFunction() { varfruits=["Banana","Orange","Apple","Mango"]; fruits.unshift("Lemon","Pineapple"); varx=document.getElementById("demo"); x.innerHTML=fruits; } </script> <p><b>Note:</b>Theunshift()methoddoesnotworkproperlyinInternetExplorer8andearlier,thevalueswillbeinserted,butthereturnvaluewillbe<em>undefined</em>.</p> </body> </html>
测试结果:
Lemon,Pineapple,Banana,Orange,Apple,Mango
在数组的第2位置添加一个元素-splice()
源代码:
<!DOCTYPEhtml> <html> <body> <pid="demo">Clickthebuttontoaddelementstothearray.</p> <buttononclick="myFunction()">Tryit</button> <script> functionmyFunction() { varfruits=["Banana","Orange","Apple","Mango"]; fruits.splice(2,0,"Lemon","Kiwi"); varx=document.getElementById("demo"); x.innerHTML=fruits; } </script> </body> </html>
测试结果:
Banana,Orange,Lemon,Kiwi,Apple,Mango
数组的末尾添加新的元素-push()
源代码:
<!DOCTYPEhtml> <html> <body> <pid="demo">Clickthebuttontoaddanewelementtothearray.</p> <buttononclick="myFunction()">Tryit</button> <script> varfruits=["Banana","Orange","Apple","Mango"]; functionmyFunction() { fruits.push("Kiwi") varx=document.getElementById("demo"); x.innerHTML=fruits; } </script> </body> </html>
测试结果:
Banana,Orange,Apple,Mango,Kiwi
下面就提供一下上文中的一些函数
数组的创建
vararrayObj=newArray();//创建一个数组
vararrayObj=newArray([size]);//创建一个数组并指定长度,注意不是上限,是长度
vararrayObj=newArray([element0[,element1[,...[,elementN]]]]);创建一个数组并赋值
要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。
数组元素的添加
arrayObj.push([item1[item2[...[itemN]]]]);//将一个或多个新元素添加到数组结尾,并返回数组新长度
arrayObj.unshift([item1[item2[...[itemN]]]]);//将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度
arrayObj.splice(insertPos,0,[item1[,item2[,...[,itemN]]]]);//将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。
数组的元素的访问
vartestGetArrValue=arrayObj[1];//获取数组的元素值
arrayObj[1]="这是新值";//给数组元素赋予新的值
数组元素的删除
arrayObj.pop();//移除最后一个元素并返回该元素值
arrayObj.shift();//移除最前一个元素并返回该元素值,数组中元素自动前移
arrayObj.splice(deletePos,deleteCount);//删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素
数组的截取和合并
arrayObj.slice(start,[end]);//以数组的形式返回数组的一部分,注意不包括end对应的元素,如果省略end将复制start之后的所有元素
arrayObj.concat([item1[,item2[,...[,itemN]]]]);//将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组
数组的拷贝
arrayObj.slice(0);//返回数组的拷贝数组,注意是一个新的数组,不是指向
arrayObj.concat();//返回数组的拷贝数组,注意是一个新的数组,不是指向
数组元素的排序
arrayObj.reverse();//反转元素(最前的排到最后、最后的排到最前),返回数组地址
arrayObj.sort();//对数组元素排序,返回数组地址