数组定义
- 数组:就是一组数据 用Array()
- 它是引用类型 使用前要先定义new
(1) new Array();
(2) new Array(item,item, ....)定义数组的同时赋值
(3) new Array(length); 定义指定长度的数组的长度,一般没有什么用
(4) arr[]; 声明一个数组
数组类型判断
判断数组类型: instanceof()
var arr=new Array();
console.log(arr instanceof Array);
typeof:只检测基本的数据类型,不准确,所以
用instanceof判断数据类型是否正确
数组赋值
数组名[索引] =值;
数组取值
数组名 [索引]
数组长度
长度:length 代表数组中元素的个数
- 数组的长度是可变的
- 数组的类型也是可变的
数组例题
<script type="text/javascript">
var arr=new Array(); //定义一个数组
console.log(arr); //Array(0) 空的,没有值,上面没有赋值
console.log(arr instanceof Array); //true 检测当前对象是否正确
arr[0]=10;
arr[1]=20; //通过索引为数组赋值
console.log(arr[0]); //数组取值
for(var i=0;i<arr.length;i++){
console.log(arr[i]);//10 20 如果arr的值太多,使用遍历方法进行查找
}
var sm=[2,4,5,6,7]; //声明数组
var sum=0;
for(c=0;c<sm.length;c++){ //求数组中偶数的和
if(sm[c]%2==0){
sum+=sm[c];
}
}
console.log(sum); //12
var brr=new Array();
brr[0]=30;
brr[2]=40;
brr[3]=80;
console.log(brr[1]); //undefined
console.log(brr[brr.length]); //undefined
console.log(brr[brr.length-1]); //相当于是arr[4] 80
brr[5]=100;
brr[6]='王';
console.log(brr); //(7) [30, empty, 40, 80, empty, 100, "王"]说明数组的类型不限制
console.log(brr.length); //6 说明数组的长度是可变的
var mrr=Array(1,2,3,4,5);
console.log(mrr.length); //5
for(var i=0;i<mrr.length;i++){ //使用遍历
console.log(mrr); //(5) [1, 2, 3, 4, 5]
console.log(mrr.length); //1 2 3 4 5
}
mrr[0]=666;
console.log(mrr); //(5) [666, 2, 3, 4, 5] 说明元素的重复赋值,第一个值1改为了666
mrr[5]=88;
console.log(mrr.length); //6 说明数组的长度在(可)变
var crr=new Array();
crr[5]=50;
console.log(crr);// (6) [empty × 5, 50]前五个不是空值,什么也没有
var lrr=new Array(1,2,3);
console.log(lrr); //Array(3)
var lrr1=new Array(5);
console.log(lrr1); //Array(5) 定义数组,并且指定数组长度
lrr1[0]=1;
lrr1[4]=2;
lrr1[6]=9;
console.log(lrr1); //[1, empty × 3, 2, empty, 9] 变本来Array(5)是5,但是6的值也输出出来了,所以定义的length没有用,也说明数组的长度是可变的
</script>
for in 遍历
使用 for…in 声明来循环输出数组中的元素
var arr=[12,13,14,15];
for(var i in arr){ //var 定义一个i in(意思是在arr里面)
console.log(i,arr[i]);
}