欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

向JavaScript的数组中添加元素的方法小结

程序员文章站 2023-01-01 20:11:47
在数组的开头添加新元素 - unshift() 源代码: ...

在数组的开头添加新元素 - 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(); //对数组元素排序,返回数组地址