创建Array对象的语法:
new Array () ; 如:
var grades=new Array();//grades中元素个数不定
grades[0]=98;
grades[1]=80;
grades[2]=72;
2.new Array(元素个数);如:
var grades=new Array(2);
grades[0]=98;
grades[1]=80;
grades[2]=72;(错误)//grades中只能有两个元素
3.new Array(element0,element1,…elementn);如:
var grades=new Array(98,80,72);//创建对象的同时初始化
4.var 对象名=new Array();
对象名=[element0,element1,…elementn];如:
var grades=new Array();
grades=[98,80,72];
Array 对象属性:
length:返回数组中元素的个数,如:
var grades=new Array();
grades[0]=98;
grades[1]=80;
grades[2]=72;
var num=grades.length;//num的值为3
prototype:向对象添加属性和方法,如:
Array.prototype.print=function(){
console.log('Array的print方法');
}//所有Array的对象均可调用此方法
Array 对象方法:
**pop():返回数组的最后一个元素并删除最后一个元素
**shift():返回数组的第一个元素并删除
例:var grades=new Array(98,80,72);
var num=grades.pop();
console.log("返回的值为:"+num+"此时数组长度为:"+grades.length);//num的值为72,调用pop()后的数组长度为2,同理把pop()换成shift()num值为98,调用shift()后的数组长度为2
**push(newelement1,newelement2,…newelementn):向数组的末尾添加一个或更多元素并返回新的长度,参数列表中是新添加的元素且至少有一个。
**unshift(newelement1,newelement2,…newelementn):向数组开头添加一个或更多元素并返回新的长度,参数列表中是新添加的元素且至少有一个。
例:var grades=new Array(98,80,72);
var num=grades.push(12,24);
console.log("调用后数组的长度为:"+num);
for(var i=0;i<grade.length;i++){
console.log(grades[i]);
}
结果为:调用后数组的长度为:5
98,80,72,12,24
**reverse():颠倒数组中元素的顺序
例:var grades=new Array(98,80,72);
grades.reverse();
for(var i=0;i<grades.length;i++){
console.log(grades[i]);
}
运行结果为:72,80,98
**slice(start,end):从某个已有的数组中返回选定的元素,选定的元素素为已有数组中下标为start到下标为end-1的所有元素
注意:该方法并不会修改数组,而是返回一个子数组
例:var grades=new Array(98,80,72);
var change=new Array();
change=grades.slice(0,2);
for(var i=0;i<change.length;i++){
console.log(change[i]);
}
运行结果为:98,80
**splice():删除元素并向数组添加新元素,此方法有三种参数(删除/添加元素的起始位置,删除元素的个数,要添加的新元素且个数不限)
注意:该方法会改变原始数组
例:var grades=new Array(98,80,72);
grades.splice(1,0,12,24);//参数意思为从grades[1]开始删除0个意思,添加两个元素12,24
console.log(grades.length);
for(var i=0;i<grades.length;i++){
console.log(grades[i]);
}
运行结果:5
98,12,24,80,72
**join():把数组的所有元素放入一个字符串,元素通过指定的分隔符进行分割,参数为要使用的分隔符,如果省略该参数,则使用逗号作为分隔符。
例:var grades=new Array(98,80,72);
var result=grades.join("*");
console.log(result);
运行结果为:98*80*72
**concat():连接两个或更多的数组并返回结果,参数可以是具体的值也可以是数组名
注意:该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本
例:var grades=new Array(98,80,72);
var change=new Array();
change=grades.concat(12,24);
for(var i=0;i<change.length;i++){
console.log(change[i]);
}
运行结果为:98,80,72,12,24