javascript数组的简单操作

javaScript的数组对象用于存储一组相关联的变量。

1、定义数组:

      在javascript中可以采用如下几种方式定义一个数组,

      1.1 var array = new Array();此时定义一个长度为0的数组,在javascript中,数组的元素是可以动态扩展的,像这样的数组,依然可以采用如下方式赋值,而不会发生数组越界的错误 array[0] = 1, array[1] = 2...

      1.2 var array = new Array(length);此时构造一个长度为length的数组,数组中的元素都是空元素,

      1.3  var array = new Array([element0[, element1[, ...[, elementN]]]]); 创建一个数组并赋值.

     1.4  var array = [1,2,3,4];

2、多维数组

    javascript中数组元素可以是任意的类型,所以可以使用如下方式来模拟而未数组,

   var array = [[1,2,3],[4,5,6]];

 document.write(array[0][0]);//1

以此类推,根据个人的需要,可以扩展到N维。

3、数组常用属性

   javascript 数组最常用的属性就是length了,它返回数组的长度,例如

  var array = [1,2,3,4,5,6];

document.write(array.length);\\6

主要数组的length属性是可以修改的,当你把一个比数组实际长度小的值赋值给length的时候,length之后的元素会被截断,例如

var array = [1,2,3,4,5,6];

array.length = 2;

document.write(array)//1,2

当你把一个比length大的值赋值给length的时候,就会扩展数组,新的空元素会添加到数组末尾,例如

var array = [1,2,3,4,5,6];

array.length = 8;

document.write(array)//1,2,3,4,5,6,,

还有一个prototype 属性,允许你向数组中添加属性和方法,例如

 Array.prototype.getFirst = function(){
  return this[0];
 }
 var array = new Array(1,2,3,4);
 document.write(array.getFirst());//1

数组还有一个constructor 属性,表示创建对象的函数。例如,

var array = new Array(1,2,3,4);

document.write(array.constructor)//function Array() { [native code] }

4、数组常用方法

4.1 concat()

   concat() 方法用于连接两个或多个数组,返回连接好的新的数组,注意,该方法不会修改原数组。例如,

   var array = new Array(1,2);

      array.concat(3,4);

     document.write(array);

此时输出内容仍然是1,2

   var array = new Array(1,2);

    array = array.concat(3,4);

    document.write(array);

此时输出的内容才是1,2,3,4

4.2 join()

    join() 方法用于把数组中的所有元素放入一个字符串,你可以指定一个分隔符做参数,如果不指定,那么将使用","作为分隔符,例如

    var array = new Array(1,2,3,4);

   document.write(array.join());//1,2,3,4

   document.write(array.join("$"));//1$2$3$4    

4.3 pop()

   pop() 方法用于删除并返回数组的最后一个元素。并把数组的长度减1,如果数组已经为空,则不会把数组的长度减1,并且返回undefined,例如

  var array = new Array(1,2,3,4);

  document.write(array.pop());//4

  document.wirte(array.length);//3

  array.length = 0;//清空数组

   document.write(array.pop());//undefined

4.4 push()

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。注意,它是在原数组上进行操作的,例如,

var array = new Array();

array.push(1,2,3,4);

document.write(array);//1,2,3,4

4.5 reverse()

reverse() 方法用于颠倒数组中元素的顺序,注意,这个方法也是对原数组进行操作的,例如

var array = new Array(1,2,3,4);

array.reverse();

document.write(array);//4,3,2,1

4.5 shift()

shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。如果此时数组为空,那么和pop()方法一样,返回undefined,该方法也是在原数组上进行操作,例如

var array = new Array(1,2,3,4);

document.write(array.shift());//1

document.write(array.length);//3

array.length = 0;

document.write(array.shift())//undefined

4.6 unshift() 

 unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度,主要该方法也是在原数组上进行的操作,例如

var array = new Array(1,2,3,4);

array.unshift(5,6,7,8);

document.write(array);//5,6,7,8,1,2,3,4

4.7 slice()

  slice() 方法可从已有的数组中返回选定的元素。注意,该方法并不会修改数组,而是返回一个子数组,例如

  var array= new Array(1,2,3,4);

  array.slice(1,3);

  document.write(array);输出还是1,2,3,4

  var subArray = array.slice(1,3);

 document.write(subArray);//此时输出的是2,3

4.8 splice()

  splice() 方法用于插入、删除或替换数组的元素。注意,该方法是在原数组上进行的操作,例如

如果想删除数组中的元素,可以按如下方式进行,splice(index,howmany)

index指定从何处开始删除,howmany指定删除几个元素,例如,有个数组var array = new Array(1,2,3,4)我们想删除元素2 ,可以按如下方式进行

array.splice(1,1);

document.write("数组元素 :"   + array + " ; 数组长度" + array.length);//数组元素 :1,3,4 ; 数组长度3

如果想在数组中插入元素,可以按如下方式进行,splice(index,howmany,element1,elementX),其中index,howmany同上,element1指的是规定要添加到数组的新元素,elementX指的是可向数组添加若干元素,例如我们想在array数组2的后面添加一个5

array.splice(2,0,5);//因为想在2后面添加,而2是数组中2个元素,下标是1,所以他后面的下标就是2,0表示我们不想删除任何元素,5,是我们要插入的值

document.write("数组元素 :"   + array + " ; 数组长度" + array.length);//数组元素 :1,2,5,3,4 ; 数组长度5

如果我们想把2替换为5,可以使用如下方式,

array.splice(1,1,5);
document.write("数组元素 :"   + array + " ; 数组长度" + array.length);
document.write(subArray);//数组元素 :1,5,3,4 ; 数组长度4

4.9 sort()

sort() 方法用于对数组的元素进行排序。注意 该方法在原数组上进行排序,不生成副本。例如

var array = new Array("b","a","d","c");

array.sort();

doucment.write(array);//a,b,c,d

注意,如果排序的数组是都是数字的话,sort方法需要一个排序函数,否则的话,排序结果可能就不是我们想要的结果,例如

  var array = new Array(2,10,1,4);
  array.sort();
  document.write(array);//1,10,2,4

结果是1,10,2,4而不是1,2,4,10,这是因为默认的sort()按字符编码排序的,这是我们需要传递一个比较函数给sort,比较函数的逻辑是:如果两参数的差值小于0,则表示a必须出现在b前面,你也可以实现自己的比较函数,例如

  var array = new Array(2,10,1,4);
  array.sort(function(a,b){return a-b;});
  document.write(array);//1,2,4,10

这就是我们想要的结果啦!

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值