javascript数组的属性、方法和清空-最全!!!(必看)

今天经理要我从新看一遍js,当我再看《精通js和jquery》这本书时,发现关于数组的这章节讲的很少,于是想自己总结一下数组的常用方法。

定义数组:

var arr = new Array(12);

arr[10] = “cmc”;
var arr = new Array(); //无法确定一个数组的长度时

var arr = [“chen”,”liu”,”huang”];

var arr = new Array( [“chen”,”liu”,”huang”]);

var a = new Array(5); //指创建长度为5的数组
var a = new Array([5]); //指创建一个数组,长度为1,并且第一位是5

数组属性:

1. length属性:Length属性表示数组的长度,即其中元素的个数。因为数组的索引总是由0开始,所以一个数组的上下限分别是:0和length-1。和其他大多数语言不同的是,

JavaScript数组的length属性是可变的,这一点需要特别注意。arr.length=0;,这就是一种清空js数组的方式

2. constructor 指定建立地象原型(prototype)函数 

3. index 代表数组组件的索引值 

4.prototype 用以建立自定义的对象属性 


数组方法:


toString 将数组转为String

concat   方法:返回一个新数组,这个新数组是由两个或更多数组组合而成的。array1.concat([item1[,   item2[,   .   .   .   [,   itemN]]]])


join   方法   :返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来。arrayObj.join(separator) 与C#不同的是这里是直接通过数组调用出来返回给一个字符串.


split  方法  :返回数组 基本和C#一样  var s="1_2_3"; var ary=s.split("_"); 参数是字符串而不是字符


pop   方法   :移除数组中的最后一个元素并返回该元素。arrayObj.pop()


push   方法   :将新元素添加到一个数组中,并返回数组的新长度值。arrayObj.push([item1   [item2   [.   .   .   [itemN   ]]]])


reverse   方法   :返回一个元素顺序被反转的   Array   对象。arrayObj.reverse(   ) 注意这里是返回一个 原来的数组而不是创建了一个新的数组.


shift   方法   :移除数组中的第一个元素并返回该元素。arrayObj.shift(   )


slice   方法   :返回一个数组的一段。arrayObj.slice(start,   [end])  


sort   方法   :返回一个元素已经进行了排序的   Array   对象。arrayobj.sort(sortfunction)  
               如果 sort()里面没有参数那么将按照字母顺序排列
               如果要用从大到小顺序排列里面需要带参数sort(function(a,b){return b-a});


splice   方法   :从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。arrayObj.splice(start,   deleteCount,   [item1[,   item2[,   .   .   .   [,itemN]]]])


unshift   方法   :将指定的元素插入数组开始位置并返回该数组。arrayObj.unshift([item1[,   item2   [,   .   .   .   [,   itemN]]]]) 在IE下无效,返回undefined fox下可以


alert(arr01.split(“”).reverse().join(“”));//先将每个字符分割为一个数组,然后反序数 组,最后将数组无连接符的转化为字符串,反转数组的字符


数组的三种清空方法:

方式1,splice 

var ary = [1,2,3,4]; 
ary.splice(0,ary.length); 
console.log(ary); // 输出 [],空数组,即被清空了
方式2,length赋值为0 

目前 Prototype中数组的 clear 和mootools库中数组的 empty 使用这种方式清空数组。

int[] ary = {1,2,3,4}; 
ary.length = 0; 
方式3,赋值为[] 

这里其实并不能说是严格意义的清空数组,只是将ary重新赋值为空数组,之前的数组如果没有引用在指向它将等待垃圾回收。

Ext库Ext.CompositeElementLite类的 clear 使用这种方式清空。

var ary = [1,2,3,4]; 
ary = []; // 赋值为一个空数组以达到清空原数组 

清空方式的选择:

由于第三种它只是重新给数组赋值,将其覆盖。并不是真正意义的清空,所以他的效率比较高。第一种过于繁琐,而第二种是真的清空,又很简单,所以一般使用推荐第二种。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值