属性

constructor

返回对创建此对象的数组函数的引用。

<script type="text/javascript">

function employee(name,job,born){
	this.name=name;
	this.job=job;
	this.born=born;
}

var bill=new employee("Bill Gates","Engineer",1985);

document.write(bill.constructor);

</script>

输出:

function employee(name, jobtitle, born)
{this.name = name; this.jobtitle = job; this.born = born;}

length

  • 可以使用length属性来获取数组的长度
  • 语法:数组.length
  • 对于连续的数组,使用length属性获取数组的长度(元素的个数)
  • 对于非连续的数组,获取数组的长度是最大的索引+1

prototype

可以向对象添加属性和方法。

//prototype向原型添加属性
function Fish(name, color){
	this.name=name;
	this.color=color;
}
var myfish = new Fish("mackarel","gray");
Fish.prototype.liveIn="water";		//向原型添加属性
Fish.prototype.price=20;
			
var pro="";
for(pro in myfish){
	document.write("myfish[" + pro + "]:" + myfish[pro] + "<br />");
}

方法

concat()

连接两个或更多的数组,并返回结果

var arr0=[0,0,0,0,0]
var arr1=[1,2,3,4,5];
var arr2=[6,7,8,9,0];
var arr3=arr1.concat(arr2,arr0);
document.write("concat:" + arr3 + "<br />")

会将所有数组连接到一块并输出

join()

可以将数组元素转换为指定格式的字符串

var arr4=["努","力","活","成","最","美","的","样","子"];
document.write(arr4.join() + "<br />");
document.write(arr4.join("") + "<br />");
document.write(arr4.join("^-^") + "<br />");
  • 括号内指定一个字符串,用来连接数组中的元素
  • 当括号中不写时,默认是逗号连接
  • 当括号中只有引号时,元素会紧挨着输出

push()

向数组的末尾添加一个或更多元素,并返回新的长度。

document.write(arr2.push("一","二","三","四","五") + "<br />");
document.write(arr2 + "<br />");

返回的是数组添加之后的长度

unshift()

向数组的开头添加一个或更多元素,并返回新的长度。

document.write(arr2.unshift("壹","贰","叁","肆","伍") + "<br />");
document.write(arr2 + "<br />");

pop()

删除并返回数组的最后一个元素

document.write(arr2.pop() + "<br />");
document.write(arr2 + "<br />");

会返回被删除的那个元素

shift()

删除并返回数组的第一个元素

document.write(arr2.shift() + "<br />");
document.write(arr2 + "<br />");

reverse()

颠倒数组中元素的顺序。即:前面的到后面,后面的到前面

document.write(arr2.reverse() + "<br />");
document.write(arr2 + "<br />");

slice()

  • 语法:arrayObject.slice(start,end)
  • 用来截取数组中的指定元素,返回一个子数组,不会影响原数组
  • 第一个参数表示从何处开始截取,如果是负数,那就从数组的末尾开始截取,-1表示最后一个元素
  • 第二个参数表示结束位置,可以省略,如果不写则表示从开始位置截取到数组最后一个元素
document.write(arr1.slice(2,4));

//表示从下标为2的元素截取到下标为4的元素,但不包括4

sort()

用于对数组的元素进行排序。

var arr=[1,2,3,4,5,6,7,8,9,10,11,23,24,18];
var arr2=["excellent","good","very much","beautiful"];
document.write(arr + "<br />");
document.write("排序后:" + arr.sort() + "<br />");
document.write("排序后:" + arr2.sort() + "<br />");
  • 括号内指定一个函数,用来指定排序规则
  • 不写时会根据ASCII码进行排序
var arr=[1,2,3,4,5,6,7,8,9,10,11,23,24,18];
var arr2=["excellent","good","very much","beautiful"];
function sortNumber(a,b){
				return a - b;		//从小到大,反之从大到小
}
document.write(arr + "<br />");
document.write("排序后sortNumber(a,b):" + arr.sort(sortNumber) + "<br />");

根据元素的长度进行排序

var arr=["excellent","good","very much","beautiful","be","a"];
arr.sort(function(a,b){
	if(a.length < b.length){	//按照从短到长的顺序排序,反之从长到短
		return 1;
	}else if(a.length == b.length){
			return 0;
	}else{
		return -1;
	}
})
document.write(arr);