标签:
属性 | 描述 |
---|---|
constructor | 返回对创建此对象的数组函数的引用。 |
length | 设置或返回数组中元素的数目。 |
prototype | 使您有能力向对象添加属性和方法。 |
方法 | 描述 |
---|---|
concat() | 连接两个或更多的数组,并返回结果。 |
join() | 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 |
pop() | 删除并返回数组的最后一个元素 |
push() | 向数组的末尾添加一个或更多元素,并返回新的长度。 |
reverse() | 颠倒数组中元素的顺序。 |
shift() | 删除并返回数组的第一个元素 |
slice() | 从某个已有的数组返回选定的元素 |
sort() | 对数组的元素进行排序 |
splice() | 删除元素,并向数组添加新元素。 |
toSource() | 返回该对象的源代码。 |
toString() | 把数组转换为字符串,并返回结果。 |
toLocaleString() | 把数组转换为本地数组,并返回结果。 |
unshift() | 向数组的开头添加一个或更多元素,并返回新的长度。 |
valueOf() | 返回数组对象的原始值 |
第一种方式:
可以申明一个空的数组变量:var a = [] ;
如果要定义一个带若干个元素的数组,也可以写成: var a = [2,6,3];
第二种方式:
Array()是一个用来构建数组的内建构造器函数,我们可以通过它来完成数组的申明:var a = new Array();,它与第一种方式是等效的
该方法创建时也可以带若干个元素:var a = new Array(2,4,6,’four’);
如果我们传递给该构造器的是一个单独数字,该数值会被认为是数组的长度
上述数组在定义过程中赋值的方式,叫做静态赋值,相对应的,还有动态赋值:
比如先声明一个数组:var a = [];
再给数组赋值: a[0] = 3;
A[1] = 5;
…
数组里面也可以存放数组:
a[2] = [‘a’,’c’];
变量num,bol,str为基本数据类型,它们的值,直接存放在栈中,obj,person,arr为引用数据类型,他们的引用变量存储在栈中,指向于存储在堆中的实际对象。
栈中存放的数据,必须先知道数据的大小和生存期,一般用来存放基本数据类型;堆中的数据,可以动态分配大小,一般用来存放引用数据类型
定义一个数组:var a = [4,6,9];
可以使用for循环:
for(var i=0;i<arr.length;i++){ alert(arr[i]); } |
也可以采用while循环:
var i = 0 ; while(i<arr.length){ alert(arr[i]); i++; } |
还可以是do-while(此种方式需要先执行再判断,不推荐使用):
var i = 0 ; do{ alert(arr[i]); i++; }while(i<arr.length); |
还可以使用foreach循环:
for(var i in arr){ alert(arr[i]); } |
我们可以通过索引来更新数组中的元素:
var a = [4,2,6];
a[2] = 23;
对于上面的数组,也可以:a[5] = 12;
其中3,4号没有数据,为undefined
删除元素:delete a[1];1号位上的元素被删除,但空间还在,所以变成undefined
a.push(“aa”);
a.pop();
var b = a.sort();
此时a和b指向同一个数组
arr.sort(function(a,b){return b-a})//从大到小
arr.sort(function(a,b){return a-b})//从小到大
a.join(“-“);
该方法的头两个参数所指定的是要移除切片的首尾索引位置,其他参数则用于填补的新元素值:
var a = [3,6,2,7,9];
var b = a.splice(1,2,100,101,102);
结果,数组a变为 [3,100,101,102,7,9]
数组b变为[6,2]
用于填补空缺的新元素也是可选的,可以直接跳过:
var b = a.splice(1,3);
此时,a结果变为[3,9]
b结果变为[6,2,7]
另外,还可以在开头添加两个元素:var b = a.unshift("aa","bb");
此时a变为[“aa”,”bb”,3,6,2,7,9]
b为修改后的a数组的长度
也可以删除开头的一个元素: a.shift();
还有reverse()方法,可以反转数组并返回该数组:var b = a.reverse();
逐个比较两个元素,大的放右边:
var a = [3,6,2,7,9]; for(var i=0;i<a.length-1;i++){ for(var j=0;j<a.length-1-i;j++){ if(a[j]>a[j+1]){ var temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } |
每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最(前)后,知道全部记录排序完毕
var a = [3,6,2,7,9]; for(var i=0;i<a.length-1;i++){ for(var j=i+1;j<a.length;j++){ if(a[i]>a[j]){ var temp = a[i]; a[i] = a[j]; a[j] = temp; } } } |
标签:
原文地址:http://www.cnblogs.com/loewe0202/p/5664685.html