属性
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);