知识汇总12~操作数组的方法
1、数组创建:
var arr = new Array();
var arr = new Array([size]);//创建并指定长度,但是长度是可以随之发生改变的
2、数组的头部添加删除:
unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
3、数组的尾部添加删除:
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
pop() 方法用于删除并返回数组的最后一个元素。
4、数组的拷贝:
arr.slice() 方法可从已有的数组中返回选定的元素;
arr.slice(start,end);该方法不会修改数组而是返回一个新的数组,包含从 start 到 end (不包括该元素)的 arr中的元素。
您可使用负值从数组的尾部选取元素。如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。
arr.concat() 方法用于连接两个或多个数组。 该方法不会修改数组而是返回一个新的数组,如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,
而不是数组。
/*例子 1*/ /*在本例中,我们将把 concat() 中的参数连接到数组 a 中:*/ <script type="text/javascript"> var a = [1,2,3]; document.write(a.concat(4,5)); </script> /*输出:*/ /*1,2,3,4,5*/ /*例子 2*/ /*在本例中,我们创建了两个数组,然后使用 concat() 把它们连接起来:*/ <script type="text/javascript"> var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" var arr2 = new Array(3) arr2[0] = "James" arr2[1] = "Adrew" arr2[2] = "Martin" document.write(arr.concat(arr2)) </script> /*输出:*/ /*George,John,Thomas,James,Adrew,Martin*/
5、数组的splice()
在javascript中splice()方法,是一个很强的数组方法,它有多种用法。
splice()主要用途是向数组的中部插入项。
有如下3种方式:
1、删除——可以删除任意数量的项,只需要指定2个参数:要删除的第一项的位置和要删除项的项数。
例如,splice(0,2)会删除数组中的前两项。
2、插入——可以向指定位置插入任意数量的项,只需要提供3个参数:骑士位置、0(要删除的项数)和要插入的项。
如果要插入多个项,可以再传入第四、第五,一直任意多个项。
例如,splice(2,1,”red”,”green”)会删除当前数组位置2的项,然后再从位置2开始插入字符串“red”和”green”。
3、替换——可以指向指定位置插入任意数量的项,且同时删除任意数量的项,只需要指定3个指定参数:起始位置、要删除的项数和要插入的任意数量项。
插入的项是不必与删除的项数相等。例如,splice(2,2,”red”,”green”)会删除当前数组位置2的项,然后再从位置2开始插入字符串“red”和“green”。
splice()方法始终都会返回一个数组,该数组中包含从元素数组中删除的项(如果没有删除任何项,则返回一个空数组)。
代码示例: <script> var colors = ["red", "green", "blue"]; var removed = colors.splice(0,1); //删除第一项 alert(colors); //green,blue alert(removed); //red,返回数组中值包含一项 removed = colors.splice(1, 0, "yellow", "orange"); //从位置1开始插入两项 alert(colors); //green,yellow,organge,blue alert(removed); //返回的是一个空数组 removed = colors.splice(1, 1, "red", "purple"); //插入两项,删除一项 alert(colors); //green,red,purple,orange,blue alert(remove); //yellow, 返回的数组中只包含一项 </script>
6、数组排序:
arr.reverse()//反转元素(最前的排到最后、最后的排到最前),返回数组地址
arr.sort() //方法用于对数组的元素进行排序。
例子:
<script type="text/javascript"> var arr = new Array(6) arr[0] = "10" arr[1] = "5" arr[2] = "40" arr[3] = "25" arr[4] = "1000" arr[5] = "1" document.write(arr + "<br />") document.write(arr.sort())
/*输出:10,5,40,25,1000,1 1,10,1000,25,40,5*/
</script>
7、数组元素字符串化:
join() 方法用于把数组中的所有元素放入一个字符串。
例子:
<script type="text/javascript"> var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" document.write(arr.join("."));/*并以 . 来进行分隔*/ /*输出:George.John.Thomas*/ </script>