向JavaScript的数组中添加元素的方法小结
在数组的开头添加新元素 - unshift()
源代码:
<!doctype html> <html> <body> <p id="demo">click the button to add elements to the array.</p> <button onclick="myfunction()">try it</button> <script> function myfunction() { var fruits = ["banana", "orange", "apple", "mango"]; fruits.unshift("lemon","pineapple"); var x=document.getelementbyid("demo"); x.innerhtml=fruits; } </script> <p><b>note:</b> the unshift() method does not work properly in internet explorer 8 and earlier, the values will be inserted, but the return value will be <em>undefined</em>.</p> </body> </html>
测试结果:
lemon,pineapple,banana,orange,apple,mango
在数组的第2位置添加一个元素 - splice()
源代码:
<!doctype html> <html> <body> <p id="demo">click the button to add elements to the array.</p> <button onclick="myfunction()">try it</button> <script> function myfunction() { var fruits = ["banana", "orange", "apple", "mango"]; fruits.splice(2,0,"lemon","kiwi"); var x=document.getelementbyid("demo"); x.innerhtml=fruits; } </script> </body> </html>
测试结果:
banana,orange,lemon,kiwi,apple,mango
数组的末尾添加新的元素 - push()
源代码:
<!doctype html> <html> <body> <p id="demo">click the button to add a new element to the array.</p> <button onclick="myfunction()">try it</button> <script> var fruits = ["banana", "orange", "apple", "mango"]; function myfunction() { fruits.push("kiwi") var x=document.getelementbyid("demo"); x.innerhtml=fruits; } </script> </body> </html>
测试结果:
banana,orange,apple,mango,kiwi
下面就提供一下上文中的一些函数
数组的创建
var arrayobj = new array(); //创建一个数组
var arrayobj = new array([size]); //创建一个数组并指定长度,注意不是上限,是长度
var arrayobj = new array([element0[, element1[, ...[, elementn]]]]); 创建一个数组并赋值
要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。
数组元素的添加
arrayobj. push([item1 [item2 [. . . [itemn ]]]]);// 将一个或多个新元素添加到数组结尾,并返回数组新长度
arrayobj.unshift([item1 [item2 [. . . [itemn ]]]]);// 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度
arrayobj.splice(insertpos,0,[item1[, item2[, . . . [,itemn]]]]);//将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。
数组的元素的访问
var testgetarrvalue=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(); //对数组元素排序,返回数组地址