Array对象

Array是JavaScript的内置对象,同时也是一个构造函数,可以用它生成新的数组。

new Array()可以接受长度或内容,但是很难使用,建议使用字面量来创建数组

判断数组

typeof [];//'object'
$('div') instanceof Array;
Array.isArray(new Array(1,2,3));//ES5

动态长度

不同于java,长度不是固定的

var arr=new Array(5);//创建长度为5的数组
arr[5]=6;//长度变为6
arr.push;//尾部增加
arr.pop;//尾部减少:arr. length-=1
arr.unshift;//头部增加
arr.shift;//头部减少

数组迭代

最稳妥的办法是使用for(var i;i<array.length;i++),但是创建了额外的变量i

for(i in array)可能会遍历出原型链或者数组本身额外的属性

如果使用jquery可以使用$.each

ES5可以使用

arr.forEach(function(x, index, a){
    console.log(x + '|' + index + '|' + (a === arr));
});

其他方法

sort默认按照字符串字典顺序

arr = [13, 24, 51, 3];
arr.sort(); // [13, 24, 3, 51]

arr.sort(function(a, b) {
     return a - b;
}); // [3, 13, 24, 51]

valueOf方法返回数组本身,toString 方法返回数组的字符串形式。

var a = [1,2,3];

a.valueOf()// [1,2,3]
a.toString()// "1,2,3"  和join()一样?

var a = [1,2,3,[4,5,6]];
a.toString()// "1,2,3,4,5,6"

类数组(Array-Like Object)

未找到明确定义,我认为拥有number类型的length属性就叫做类数组,比如字符串和jquery对象

Array.prototype.join.call('hello',',')

 

posted on 2015-11-04 22:30  cbwleft  阅读(109)  评论(0)    收藏  举报