七、ES对象(⼀)--数组对象⼀、数组对象(Array)
1、数组是⼀个对象。
2、数组与普通对象的区别在于数组使⽤索引值来操作元素。
3、数组中的元素可以是任意数据类型。
4、数组的长度可以任意改变,即使初始化了长度也是可变的。
过长补位的为空,获取对应元素为undefined。
过短缺位的被删除。
1)数组是⼀个对象。
var s=["12","23","12"];
console.log(typeof s);//object
2)数组对象与普通对象的区别在于数组使⽤索引值来操作元素。
数组与普通对象的区别:
1)对象使⽤属性名操作属性。
2)数组使⽤索引值操作元素。
索引值:从0开始的整数。
3)数组中的元素可以是任意数据类型
//数组中的元素可以是任意数据类型
var s=[1,"1",null,undefined,true];
//也可以是对象
var s1=[{name:'h',age:12},{name:'h',age:12},{name:'h',age:12}]
//也可以是函数
var s2=[function(){alert("1")},function(){alert("2")},function(){alert("3")}] //也可以是数组
var s3=[[1,2,3],[4,5,6],[7,3,5]]
4)数组的长度可以任意改变。过长补位为空。过短缺位删除。
1、数组的长度可以任意改变。即使初始化了数组长度,也可以改变。
2、过长补位的为空。过短缺位的被删除。
⼆、操作数组
1.1 创建数组
a、使⽤常规⽅式创建数组:
var arr=new Array();创建⼀个数组对象
var arr=new Array(5);创建⼀个指定长度的数组对象:
var arr=new Array(1,23,'1212');
创建数组对象并初始化
b、使⽤字⾯量⽅式创建数组:
var arr=[];
var arr=[1,23,'1212'];
注意事项:数组的长度是可变的,即使初始化了数组长度,也是可以变的。>>>>>> 创建数组
var arr=new Array();//创建⼀个数组对象
arr[1]=12;
arr[2]=13;
console.log(arr);
var arr2=new Array(5);//创建⼀个长度为5的数组对象。
arr2[1]=12;
arr2[2]=13;
console.log(arr2);
var arr3=new Array(1,null,undefined);//创建⼀个数组并初始化
console.log(arr3);
1.2 使⽤索引值操作数组
arr[2]使⽤索引值读取元素
arr[2]=12使⽤索引值修改元素
>>>>>> 使⽤索引值读取元素。如果索引值超过数组长度,不会报错,返回undefined。
var arr=[1,2,3,4,1,2,3,4];
console.log(arr[2]);//3
console.log(arr[100]);//undefined
>>>>>> 使⽤索引值设置元素。如果索引值超过数组长度,也可以设置。过长补位为空。
var arr=[1,2,3,4,1,2,3,4];
arr[100]=100;
console.log(arr);
1.3 读取或设置数组的长度
arr.length  获取数组的长度
arr.length=100设置数组的长度
如果修改的length>原长度,则多出的会空出来。
如果修改的length<;原长度,则多出的元素会被删除。
注意事项:数组是可变的。
>>>>>> 获取数组的长度
var arr=[1,2,3,4];
console.log(arr.length);//4
arr[100]=111;
console.log(arr.length);//100
>>>>>> 设置数组的长度。过长补位为空,过短删除
var arr=[1,2,3,4];
arr.length=2;
console.log(arr);//设置数组长度。过短,删除元素
arr.length=100;
console.log(arr);//设置数组长度。过长,补位为空
1.4 遍历数组
⽅式⼀:
var arr=["12","13","24"];
for(var i=0;i<arr.length;i++){
console.log(arr[i]);
}
⽅式⼆:
for(var i in arr){
console.log(arr[i])
}
⽅式三:forEach()⽅法遍历数组
var arr=[1,2,3,4];
arr.forEach(function(elem,index,obj){
console.log(elem);
})
forEach()
forEach()⽅法需要⼀个函数作为参数(只在IE8以上浏览器⽀持)
-
像这种函数由我们创建,不由我们调⽤的,我们称为回调函数
-数组中有⼏个元素就会执⾏⼏次。
每次执⾏时,浏览器会将遍历的元素以实参的形式传递过来。我们可以在传⼊的函数中定义形参来接收。
-浏览器会在回调函数中传⼊三个参数
第⼀个参数是正在遍历的元素。
第⼆个参数是正在遍历的元素索引值。
第三个参数是正在遍历的数组对象。
1)for-in遍历数组
数组也是对象,不同的是数组使⽤索引值操作。⽽索引值就相当于对象的属性名。
所以使⽤for-in遍历对象的属性值,
也可使⽤for-in遍历数组的索引值。
var arr=[1,2,3,4];
for(var i in arr){
console.log(i);// 遍历索引值
console.log(arr[i])// 遍历数组
}
2)for循环遍历数组
var arr=[1,2,3,4];
for(var i=0;i<arr.length;i++){
console.log(arr[i])// 遍历数组
typeof array
}
3)forEach函数遍历数组
var arr=[1,2,3,4];
arr.forEach(function(elem){
console.log(elem);
})
arr.forEach(function(elem,index,obj){
console.log(elem);
})
注意事项:
1)forEach()⽅法需要⼀个函数作为参数,这个函数由forEach⽅法调⽤。
-像这种函数由我们创建但不需要调⽤,我们称之为回调函数。
2)数组中有⼏个元素,回调函数就被调⽤⼏次。
3)forEach⽅法执⾏回调函数时,浏览器会传⼊三个参数。我们可以在函数中定义形参来接收参数。
-第⼀个参数:正在遍历的元素
-第⼆个参数:正在遍历的元素的索引值
-第三个参数:正在遍历的数组对象
>>>>>> forEach⽅法需要⼀个函数作为参数,这个函数由forEach⽅法调⽤。这个函数被称为回调函数。
var arr=[1,2,3,4];
//forEach()⽅法需要⼀个函数作为参数,这个函数由forEach⽅法调⽤。
arr.forEach(function(){
console.log("1");
})
>>>>>> forEach⽅法调⽤回调函数时,浏览器会传⼊参数。我们可以在函数中定义形参来接收参数。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。