JavaScript数组的定义属性及使用

来源:互联网 发布:python 量化交易策略 编辑:程序博客网 时间:2024/06/05 22:38

JavaScript数组的定义属性及使用

数组的定义

  
     var arr = [ 1,2,3 ];

或 var arr = new Array( 1,2,3 );

一般采用第一种方式定义,[ ] 的性能比较高

    数组的使用原则

                  数组中应该只存一种类型的变量。


数组的属性

数组一般采用的属性 length

length既可以定义,也可以获取

eg.    var arr = [1,2,3,4,5,6]

         则,arr.length = 6;

  若定义 var arr = [1,2,3,4,5,6];  arr.length = 3

        则, arr = [1,2,3];


添加、删除元素

   var arr = [1,2,3];

push()在数组尾部添加元素    unshift()在数组头部添加

pop()在数组尾部删除元素      shift()在数组头部删除


其它操作

splice(a,b) ,其中 a :表示起点  b:表示长度

 如: arr.splice(2,3);  表示从第2个位置开始删除2个元素

         arr.splice(2,0,'1','2','3'); 表示从第2个位置开始删除0个元素,再添加 1 ,2 ,3这三个元素

         arr.splice(2,2,'a','b');  表示用a, b两个元素替换第二个元素开始的两个元素


concat( a ), a:表示另一个;用来连接2个数组


表达式 arr1.concat(arr2);


join 用于元素分隔符

  如: arr = (1,2,3);

则,arr.join('-');    表示为 1-2-3;


sort() 用于排序

如:arr = ['d','a','c','b'];

则,arr.sort();  数组为 a b c d


需要注意的是,若使用sort()来对数字进行排序,它默认哟字符串的形式来排

如,arr = [23,8,99,111]; 
排序完变成  111,23,8 99 而不是我们需要的8, 23 ,99,111

 那么,如何解决呢????

 添加比较函数function(n1,n2){}

具体   arr.sort(function(n1,n2){

                 if( n1<n2 ){ return -1;}                   //不一定是-1,只要负数既可以

                 else if( n1>n2 ){ return 1;}             //不一定是1,只要正数既可以

                 else{ return 0};


                  //或者直接return n1-n2  代替前面那3行

                    return n1-n2

           })

此时数组变排好序 8 23 99 111























原创粉丝点击