javascript开发:数组Array探究

1、创建数组

    创建数组的方法有多个,我们用自己喜欢的写法就好。在创建数据组的时候,可以是一个空数组,也可以为他指定长度,也可以直接赋值给它。

[javascript]  view plain  copy
  1. var arrayObj = new Array();  //创建一个数组  
  2. var arrayObj = [];          //创建一个数组,和上不同写法  
  3.   
  4. var arrayObj = new Array(5);  //创建一个数组并指定长度(5),注意不是上限,是长度  
  5.   
  6. var arrayObj = [1,2,3,4,5];     //创建一个数组并赋值  
2、数组属性

    数组属性其实指的就是其长度:length。在创建函数的时候可以给它指定长度,也可以在后面获取他的长度。

[javascript]  view plain  copy
  1. <script>  
  2. window.οnlοad=function  () {  
  3.               
  4.     var arrayObj = [1,2,3,4,5];   
  5.     alert(arrayObj.length);  //长度为5  
  6.     arrayObj.length=3;  
  7.     alert(arrayObj.length);//长度为3  
  8.     arrayObj.length=0;  
  9.     alert(arrayObj.length);//长度为0  
  10. }     
  11. </script>  

3、数组对象(重点
 
 3.1、数组的拼接concat()

Array.concat( ),方法concat()将创建并返回一个新数组,这个数组是将所有参数都添加到array中生成的。它并不修改array。如果要进行concat()操作的参数是一个数组,那么添加的是数组中的元素,而不是数组。

[javascript] view plain copy
  1. <script>  
  2.     window.onload = function() {  
  3.   
  4.         var a = [1, 2, 3];  
  5.         a.concat(4, 5) //返回 [1,2,3,4,5]  
  6.         a.concat([4, 5]); //返回 [1,2,3,4,5]  
  7.         a.concat([4, 5], [6, 7]) //返回 [1,2,3,4,5,6,7]  
  8.         a.concat(4, [5, [6, 7]]) //返回 [1,2,3,4,5,[6,7]]  
  9.     }  
  10. </script>  

3.2、数组分隔符join()

语法:
array.join( ) 
array.join(separator)

参数: separator 在返回的字符串中用于分隔数组元素的字符或字符串,它是可选的。如果省略了这个参数,用逗号作为分隔符。
返回值:

    —个字符串,通过把array的每个元素转换成字符串,然后把这些字符串连接起来,在两个元素之间插入separator字符串而生成。

[javascript]  view plain  copy
  1. <script>  
  2.     window.onload = function() {  
  3.         var arr = [1, 2, 3, 4];  
  4.         alert(arr.join('- -p'));  
  5.     }  
  6. </script>  

3.3、删除数组最后一个元素 pop()

Array.pop( ),方法pop()将删除array的最后一个元素,把数组长度减1,并且返回它删除的元素的值。如果数组已经为空,则pop()不改变数组,返回undefined。

[javascript]  view plain  copy
  1. <script>  
  2.     window.onload = function() {  
  3.         var arr = [1, 2, 3];  
  4.         arr.pop();  
  5.         alert(arr);  
  6.     }  
  7. </script>  

3.4、添加数组元素 push()

Array.push( ) ,要添加到array尾部的值,可以是一个或多个。方法push()将把它的参数顺次添加到array的尾部。它直接修改array,而不是创建——个新的数组。方法push()和方法pop()用数组提供先进后出栈的功能。

[javascript]  view plain  copy
  1. <script>  
  2.     window.onload = function() {  
  3.         var arr = [1, 2, 3];  
  4.         arr.push(4);  
  5.         alert(arr);  
  6.     }  
  7. </script>  

3.5、颠倒数组元素 severse()

[javascript]  view plain  copy
  1. <script>  
  2.     window.onload = function() {  
  3.         var arr = [12, 8, 99, 19, 112];  
  4.         arr.reverse();  
  5.         alert(arr);  
  6.     }  
  7. </script>  

3.6、删除数组第一个元素 shift()

Array.slice( ),方法shift()将把array的第—个元素移出数组,返回那个元素的值,并且将余下的所有元素前移一位,以填补数组头部的空缺。如果数组是空的,shift()将不进行任何操作,返回undefined。注意,该方法不创建新数组,而是直接修改原有的数组。
方法shift()和方法Array.pop()相似,只不过它在数组头部操作,而不是在尾部操作。该方法常常和unshift()一起使用。
方法unshift()将把它的参数插入array的头部,并将已经存在的元素顺次地移到较高的下标处,以便留出空间。

[javascript]  view plain  copy
  1. <script>  
  2.     window.onload = function() {  
  3.         var arr = [1, 2, 3];  
  4.         //arr.shift();  
  5.         arr.unshift(5);  
  6.         alert(arr);  
  7.     }  
  8. </script>  

3.7、任意位置添加、删除、置换数组元素 splice()

array.splice(start, deleteCount, value, ...)

参数:
start
开始插入和(或)删除的数组元素的位置(不是下标)。
deleteCount
从start开始,包括start所指的元素在内要删除的元素个数。这个参数是可选的,如果没有指定它,splice()将删除从start开始到原数组结尾的所有元素。
value, ...
要插人数组的零个或多个值,从start所指的下标处开始插入。

[javascript]  view plain  copy
  1. <script>  
  2.     window.onload = function() {  
  3.         var arr = [1, 2, 3, 4, 5, 6];  
  4.         //删除:splice(起点, 长度)  
  5.         //arr.splice(2, 3);  
  6.         //插入:splice(起点, 长度, 元素...);  
  7.         //arr.splice(2, 0, 'a', 'b', 'c');  
  8.         arr.splice(2, 2, 'a''b');  
  9.         alert(arr);  
  10.     }  
  11. </script>  

3.8、数组排序 sort()

数组排序一般都是对字符串和数字就行排序,数字较多(排名)。

[javascript]  view plain  copy
  1. <script>  
  2.     window.onload = function() {  
  3.         var arr = ['float''width''alpha''zoom''left'];  
  4.         arr.sort();  
  5.         alert(arr);  
  6.     }  
  7. </script>  
数字的排序:
    方法sort()将在原数组上对数组元素进行排序,即排序时不创建新的数组副本。如果调用方法sort()时没有使用参数,将按字母顺序(更为精确地说,是按照字符编码的顺序)对数组中的元素进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如果有必要的话),以便进行比较。
    如果想按照别的顺序进行排序,就必须提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数a和b,其返回值如下:

  • 如果根据你的评判标准,a小于b,在排序后的数组中a应该出现在b之前,就返回一个小于0的值。

  • 如果a等于b,就返回0。

  • 如果a大于b,就返回一个大于0的值。 

[javascript]  view plain  copy
  1. <script>  
  2.     var arr = [12, 8, 99, 19, 112];  
  3.     arr.sort(function(n1, n2) {  
  4.         if(n1 < n2) {  
  5.             return -1;  
  6.         } else if(n1 > n2) {  
  7.             return 1;  
  8.         } else {  
  9.             return 0;  
  10.         }  
  11.     });  
  12.     alert(arr);  
  13. </script>  
简写:最好先理解一个函数:max()自己写一个比较大小的函数

[javascript]  view plain  copy
  1. <script>  
  2.     function max(n1, n2) {  
  3.         if(n1 < n2) {  
  4.             return -1;  
  5.         }  
  6. </script>  
示例:

下面的代码展示了如何编写按数字顺序,而不是按字母顺序对数组进行排序的比较函数:

function numberorder(a, b) { return a - b; }// 按照数字顺序排序的排序函数
a = new Array(33, 4, 1111, 222);
a.sort(  );             // 按照字母顺序的排序结果为: 1111, 222, 33, 4
a.sort(numberorder);    // 按照数字顺序的排序结果为: 4, 33, 222, 1111


3.9、数组元素转换为字符串 toString()

    Array.toString( )数组的toString()方法将把数组转换成一个字符串,并且返回这个字符串。当数组用于字符串环境中时,JavaScript会调用这一方法将数组自动转换成一个字符串。但在某些情况下,需要明确地调用这个方法。
    toString()在把数组转换成字符串时,首先要将数组的每个元素都转换成字符串 (通过调用这些元素的toString()方法)。当每个元素都被转换成字符串时,它就以列表的形式输出这些字符串,字符串之间用逗号分隔。返回值与没有参数的join()方法返回的字符串相同。

[javascript]  view plain  copy
  1. <script type="text/javascript">  
  2.     var arr = new Array(3)  
  3.     arr[0] = "George"  
  4.     arr[1] = "John"  
  5.     arr[2] = "Thomas"  
  6.     document.write(arr.toString())  
  7. </script>  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值