数组简介:
数组(Array):
- 数组也是一个对象
- 他和我们的普通对象功能类似,也是用来存储一些值
- 不同的是普通对象是用字符串作为属性名,而数组使用数字作为索引操作元素
- 索引:从0开始的整数就是索引
- 数组存储性能比普通对象的要好,在开发中经常存储一些数据
- 用typeof检查数组时,返回值为object
- 向数组中添加元素,语法:数组 [ 索引 ] = 值
- 如果读取不存在的索引,他不会报错而是返回undefined
- 获取数组的长度,可以使用length属性来获取数组的长度(获取元素的个数),语法:数组.length
- 对于连续的数组,使用length可以获取到数组的长度(元素的个数)
- 对于非连续的数组,使用length可以获取到数组最大索引+1(尽量不要创建非连续数组)
- 修改length,如果修改的length大于原长度,则多的部分会空出来
- 如果修改的length小于原长度,则多出的元素会被删除
- 向数组的最后一个位置添加元素,语法:数组[数组.length]=值
数组字面量:
- 使用字面量创建数组,语法:[ ]; eg: var arr = [ ];
- 使用字面量创建数组时,可以在创建时就指定数组中的元素。
var arr =[1,2,3,4,5];
- 使用构造函数创建数组时,也可以同时添加元素,将要添加的元素作为构造函数的参数传递,元素之间使用逗号隔开。
var arr =new Array(10,11,12);
- 创建一个数组数组中只有一个元素10
arr =[10];
创建一个长度为10的数组
arr2 =new Array(10);
数组中的元素可以为任意数据类型,数组中可以放对象,函数,数组。
数组的四个方法:
- push()---该方法是向数组末尾添加一个或多个元素,并且返回数组新的长度,可以将要添加的元素作为方法的参数传递,这样这些元素将会自动添加到数组末尾。该方法会将数组新的长度作为返回值返回。
- pop()-----该方法删除数组的最后一个元素,并将删除值作为返回值返回。
- unshift()-----向数组开头添加一个或多个元素,并且返回新的数组长度。向前边插入元素之后,其他元素索引会依次调整。
- shift()-----该方法删除数组的开头一个元素,并将删除值作为返回值返回。
数组的遍历:
所谓遍历,就是将数组中的所有元素都取出来。
var arr =["韩宇","刘亦菲","霍建华"];
for(var i =0;i<arr.length; i++){
consloe.log(arr[i])
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
function Person(name,age,sex){
this.name=name;
this.age=age;
}
Person.prototype.toString=function(){
return "Person[name="+this.name+",age="+this.age+"]"
}
// 创建一个Person实例
var pre =new Person("韩宇",28);
var pre1 =new Person("任嘉伦",25);
var pre2 =new Person("丽丽",6);
var pre3 =new Person("花花",18);
var pre4 =new Person("伦伦",15);
//将所有参数放在一个数组中
var perArr = [pre,pre1,pre2,pre3,pre4];
//获取大于十八的人,arr为形参,提取信息
function getAdult(arr){
//创建新值
var newArr =[];
//遍历数组
for(i=0;i<arr.length;i++){
var p=arr[i];
//判断大于18
if(p.age>=18){
newArr.push(p);
}
}
return newArr;
}
var result =getAdult(perArr);
console.log(result);
</script>
</head>
<body>
</body>
</html>