前言
对象与数组之间存在一些联系也有一些区别,同时对象与数组也是js中的重点内容需要我们认真的去学习。
一、对象与数组的含义
相同点:对象与数组是js中的一种数据类型,是一种复杂的数据类型
不同点:对象是用来存在多组键值对结构数据
数组是一个有序的数据集合,有序是体现在下标上,数组每存储一个数据都会自动生成一个下标,下标是从0开始的,下标是有序排列的。
二、语法结构
1.对象的语法结构
var 对象名={
键名:值,
键名:值
}
最外层是用一个{},里面是存在多个键值对组成,多个键值对之间用英文“,”,进行分隔,每个键值对里面,左边是键名(key),右边是值(value),中间用英文“:”
2.数组的语法结构
var 数组名=[]
3.空对象的创建
1.对象
1.字面量的创建
var 对象名={}
2.内置构造函数
var 对象名=new Object()
这两种方法只是写法的区别,他们都是生成一个空对象,得到的数据也没有什么区别。
2.数组
1.字面量的创建
var 数组名=[]
2.内置构造函数
var 数组名=new Array()
相同点:
都是使用两种方式 :1.字面量的创建 2.内置构造函数的创建
不同点:
两种方式中的结构不同,1.对象是{},数组是[] 2.对象是Object ,数组是 Array
4.添加数据
1.对象
1.初始化添加
var 对象名={
键名:值
}
2.点语法添加
对象名.键名=值
3.下标法添加
对象名['键名']=值
2.数组
1.初始化添加
var 数组名=[]
2.下标法添加
数组名[下标]=值
3.往数组末尾添加一个数据
数组名.push(数据)
4.往数组开头添加一个数据
数组名.unshift(数据)
相同点:
数组与对象添加有两个方法是相同的:1.初始化添加 2.下标添加法:注意 对象中键名被包裹的[]中必须得加上''否则就是变量,会报错
不同点:
对象还存在:1.点语法添加
数组还存在:1.开头添加 2.末尾添加
5.删除数组
1.对象
1.使用delete来删除
delete 数组名.键名
delete 数组名['键名']
2.数组
1.使用delete
delete 数组名[下标]
这种方式,只能够删除内容,但是会存在该数组项所占的位置并没有删除,因此不赞成使用这种方式
2.使用splice
数组名.splice(从哪一项开始删除,删几项)
这种方式,不仅可以删除数组项,同时可以删除它所在的位置
不同点:
对象使用:delete
数组使用:splice
6.遍历
1.对象
遍历对象:将对象中所有的键值取出
for(var 变量 in 对象名){
console.log(变量)
console.log (对象[变量])
}
2.数组
遍历数组:就是将数组中的下标和值取出
1.for…in语法
for(var 变量 in 数组名){
console.log(变量)---下标
console.log(数组名[变量])----值
}
2.for循环
for(var i=0;i<数组名.length;i++){
console.log(i)
console.log(数组名[i])
}
相同点:
都可以使用for…in语法
不同点:
数组还可以使用for循环来遍历
总结
对象与数组之间还有很多的区别与联系,并且在js中还是非常重要的哦,还是得好好学哦!