[TOC] >[info]Arr 对象用于处理数组。 >对象是带有属性和方法的特殊数据类型。数组也是一种对象,数组对象有相关的属性和方法。下面为大家讲解一些常用的方法。下面列举一些范例。 ## length 属性 >[info]length 属性可设置或返回数组中元素的数目。 ~~~ <script type="text/javascript"> var arr = new Array(3) arr[0] = "John" arr[1] = "Andy" arr[2] = "Wendy" document.write("Original length: " + arr.length) document.write("<br />") arr.length=5 document.write("New length: " + arr.length) </script> ~~~ 输出 ~~~ Original length: 3 New length: 5 ~~~ ## push() 方法 >[info]push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。 ~~~ <script type="text/javascript"> arrayObject.push(newelement1,newelement2,....,newelementX) </script> ~~~ ## unshift() 方法 >[info]unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。 ~~~ <script type="text/javascript"> arrayObject.unshift(newelement1,newelement2,....,newelementX) </script> ~~~ ## pop() 方法 >[info]pop() 方法用于删除并返回数组的最后一个元素。 ~~~ <script type="text/javascript"> arrayObject.pop() </script> ~~~ ## shift() 方法 >[info]shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。 ~~~ <script type="text/javascript"> arrayObject.shift() </script> ~~~ ## splice() 方法 >[danger]splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。注释:该方法会改变原始数组。 ~~~ <script type="text/javascript"> arrayObject.splice(index,howmany,item1,.....,itemX) </script> ~~~ <table class="dataintable"> <tbody> <tr> <th style="width:25%;"> 参数 </th> <th> 描述 </th> </tr> <tr> <td> index </td> <td> 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 </td> </tr> <tr> <td> howmany </td> <td> 必需。要删除的项目数量。如果设置为 0,则不会删除项目。 </td> </tr> <tr> <td> item1, ..., itemX </td> <td> 可选。向数组添加的新项目。 </td> </tr> </tbody> </table> 在本例中我们将删除位于 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 ~~~ ## slice() 方法 >[info]slice() 方法可从已有的数组中返回选定的元素。 ~~~ <script type="text/javascript"> arrayObject.slice(start,end) </script> ~~~ <table class="dataintable"> <tbody> <tr> <th class="no_wrap"> 参数 </th> <th> 描述 </th> </tr> <tr> <td> start </td> <td> 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。 </td> </tr> <tr> <td> end </td> <td> 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。 </td> </tr> </tbody> </table> 在本例中,我们将创建一个新数组,然后显示从其中选取的元素: ~~~ <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 />") document.write(arr.slice(2,4) + "<br />") document.write(arr) </script> ~~~ ~~~ George,John,Thomas,James,Adrew,Martin Thomas,James George,John,Thomas,James,Adrew,Martin ~~~ ## join() 方法 >[info]join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。 ~~~ <script type="text/javascript"> arrayObject.join(separator) </script> ~~~ <table class="dataintable"> <tbody> <tr> <th> 参数 </th> <th> 描述 </th> </tr> <tr> <td> separator </td> <td> 可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。 </td> </tr> </tbody> </table> ## concat() 方法 >[info]concat() 方法用于连接两个或多个数组,该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。 ~~~ <script type="text/javascript"> arrayObject.concat(arrayX,arrayX,......,arrayX) </script> ~~~ <table class="dataintable"> <tbody> <tr> <th> 参数 </th> <th> 描述 </th> </tr> <tr> <td> arrayX </td> <td> 必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。 </td> </tr> </tbody> </table> ## 数组对象的方法 <table class="dataintable"> <tbody> <tr> <th style="width:25%"> 方法 </th> <th> 描述 </th> </tr> <tr> <td> <a> concat() </a> </td> <td> 连接两个或更多的数组,并返回结果。 </td> </tr> <tr> <td> <a> join() </a> </td> <td> 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 </td> </tr> <tr> <td> <a> pop() </a> </td> <td> 删除并返回数组的最后一个元素 </td> </tr> <tr> <td> <a> push() </a> </td> <td> 向数组的末尾添加一个或更多元素,并返回新的长度。 </td> </tr> <tr> <td> <a> reverse() </a> </td> <td> 颠倒数组中元素的顺序。 </td> </tr> <tr> <td> <a> shift() </a> </td> <td> 删除并返回数组的第一个元素 </td> </tr> <tr> <td> <a> slice() </a> </td> <td> 从某个已有的数组返回选定的元素 </td> </tr> <tr> <td> <a> sort() </a> </td> <td> 对数组的元素进行排序 </td> </tr> <tr> <td> <a> splice() </a> </td> <td> 删除元素,并向数组添加新元素。 </td> </tr> <tr> <td> <a> toSource() </a> </td> <td> 返回该对象的源代码。 </td> </tr> <tr> <td> <a> toString() </a> </td> <td> 把数组转换为字符串,并返回结果。 </td> </tr> <tr> <td> <a> toLocaleString() </a> </td> <td> 把数组转换为本地数组,并返回结果。 </td> </tr> <tr> <td> <a> unshift() </a> </td> <td> 向数组的开头添加一个或更多元素,并返回新的长度。 </td> </tr> <tr> <td> <a> valueOf() </a> </td> <td> 返回数组对象的原始值 </td> </tr> </tbody> </table> >[info]自定义一个函数(删除数组的重复元素) 自定义一个函数(对数组中的元素排序)