javascript数组
我们常常将对象和数组作为不同的数据类型来处理,这样就可以把对象和数组作为单独的类型来处理.但是要完全掌握对象和数组的行为,你还必须了解数组不过是一个具有额外功能层的对象.我们使用typeof就会发现这一点.javascript1.1开始支持数组.-----------------------------
数组是一种数据类型,它包含了编码的值,每个编码的值被称作该数组的一个元素,每个元素
的编码被称为下标.由于js是一种无类型语言,所以一个数组的元素可以是具有任意类型的数
据类型.统一数组的不同元素可以具有不同的类型,数组的元素甚至可以包含其它数组,这样
就可以创建一个复杂的数据结构,即元素为数组的数组.
-----------------------------
Array构造函数创建数组的三种方式
var a = new Array();//一个没有元素的空数组var a = new Array(5,4,3,"testing");//可以是任意类型,明确制定前n个元素的值var a = new Array(5);//具有指定的元素个数(每个元素的值都是undefined),还将数组的length属性设成了指定的值.
-----------------------------
使用数组直接量来创建数组:
var a = ;var b = ['a',true,1.24];数组直接量还可以包含对象直接量或其它的数组直接量
var c = [,,];var c = ;
-----------------------------
数组元素的读写
var m_value = a;a = 2;//第一个元素下标是0
[]还可以用来存取已命名对象的属性
a['salary'] = 2;//告诉我们对象和数组本质是相同的.
-----------------------------
数组的下标必须大于等于0并小于2的23次方减1.如果你使用的数字太大,或使用了负数,浮点
数(或布尔值),js会把它转换为一个字符串,用生成的字符串作为对象属性的名字,而不是作
为数组的下标.
a[-1.23]= true;//创建了一个名为"-1.23"的属性,而不是定义一个新的数组元素
-----------------------------
定义数组时候不必指定元素的个数
a = 1;a = "this is element 1000";//只有a和a分配到了内存,中间的元素并没有分配到内存.
-----------------------------
数组的长度length
var a = new Array();a = new Array(10);a = new Array(1,2,3);a = ;//长度在变化a = -1;//a.length==6;a = 0;//a.length==50用于遍历
var fruits=["mango","banana","cherry","pear"];for(var i = 0;i<fruits.length;i++){alert(fruits);}
length可以被设置
和delete的区别
-----------------------------
多维数组
js并不支持真正的多维数组,但是它允许使用元素为数组的数组.
-----------------------------
数组的方法
除了[]运算符外,还可以使用类Array提供的各种方法来操作数组.
join();var a = ;var s = a.join();var s2 = a.join(", ");和String.split()相反
-----------------------------
reserse();
var a = new Array(1,2,3);a.reverse();var s = a.join();-----------------------------
sort();
var a = new Array("banana","cherry","apple");a.sort();var s = a.join();
var a =
a.sort();
a.sort(function(a,b){reuturn a-b;});
-----------------------------
var a = ;a.concat(4,5);a.concat();a.concat(,);//a.concat(4,]);//] 不能展开数组的数组
-----------------------------
slice()
var a = ;a.slice(0,3);//a.slice(3);//a.slice(1,-1);//a.slice(-3,-2);//
-----------------------------
toString()
.toString();//"1,2,3"].toString();//"1,2,c"
参考资料:js权威指南
页:
[1]