js对象和数组

本文详细介绍了JavaScript中的对象和数组。对象作为一种高级数据容器,采用键值对结构,支持通过构造函数和字面量方式创建。对象的增删改查操作中,增删改均通过中括号运算符,删除则使用`delete`。数组是一种数据集合,可使用构造函数、字面量等方式创建,并有`length`属性。数组的增删改查操作与对象类似,但要注意删除元素可能破坏下标连续性。此外,文章还讨论了向数组末尾添加数据、遍历数组以及数组的API使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对象

万事万物皆对象,对象时js的原始类型,任何的数据类型都可以用对象来解释。

对象究竟是什么?

高级数据容器

创建

1.构造函数的创建

var obj=new Object();
console.log(obj)

结果:
在这里插入图片描述

2.字面创建对象

字面量:对象长什么样,我们就怎么去创建对象

var obj2={};
console.log(obj2);

结构

映射结构:键值对结构;

对象的属性会对应一个唯一值,这样的一组属性和值,被我们称之为对象之中的一条数据;

注意:1.属性只能是字符串,值可以为任意类型。

​ 2.对象之中可以存储多条数据

​ 3.多条数据之间使用逗号进行隔开

​ 4.对象之中没顺序

例如:

语法:{"name":"abc","age":"180"}

对象抽象

抽象:抽出关键点,对象抽象是为了更好的描述一个事物。

比如:数据:名字:abc,身高:180,职业:讲师

对象的增删改查

使用运算符.或者[];
例如:obj.name   obj["name"];.属性名必须符合变量名才行。如果不符合就只能使用[]当作取出运算符。

目标:向对象之中新增一条数据,使用中括号运算符。

var obj={};
//如果取出的属性不存在,js会自动在对象里面新增一个属性。
obj["name"]="abc"

如果已经存在数据,那么这次赋值就会覆盖原有数据。

var obj={"name":"abc"}
obj.name="123";

关键字:delete

语法:delete 对象[属性名]

var obj={"name":"abc"};
delete obj["name"]

数组

数组:数据的集合;数组里面的数据不代表一个事物,代表的是一批同类事物。

创建数组

1.构造函数创造数组

var arr=new Array();
console.log(arr)

结果:
[]


2.字面量创造数组(推荐)

var arr2=[];

3.数组创建时有一个基本信息,就是长度length,length表示数组里面有多少条数据。可以通过数组名.length来查询。

可以通过new Array(length)来设置数组的初始长度。

4.数组中有多个数据时,用逗号隔开

5**.数组下标**:是数组自动给数据富裕的,从左到右依次增加,从0开始。下标是作为存取数据的基本标记

数组的增删改查

和对象一样,但是只能使用[],不能使用点(.)

和对象一样,但是只能使用[],不能使用点(.)

1.如果使用delete,会破坏数组的下标连续性。

delete arr[4];
console.log(arr)

arr[下标]

进阶知识

向数组末尾添加数据

方法1:使用数组[下标]=数据的方式向数组特殊位置添加数据。

数组.length可以得到数组的长度

var arr=["string",1,hello];
arr[arr.length]="向数组末尾添加数据";
console.log(arr)

方法2:数组非常规下标新增数据

如果我们输入的下标是非连续性的下标,数组会自动把连续性补齐

var arr=[];
arr[10]="hello word"

结果如下:
[空属性*10"hello word"]
数组遍历

遍历:取出数组之中的每一个数据进行使用。

方法1:可以使用循环来表达

起始点:0;

终止点:arr.length-1

var arr=[5,6,7,8,9,0];
for(i=0;i<arr.length;i++){
console.log(arr[i])
}

方法2:for in循环

会自动取出数组/对象的所有属性多次执行,直到取出所有属性

而在for in中声明的变量里面承载的就是属性/下标

for in取出的属性是字符串类型;这个字符串类型和数字类型在遍历中没有区别,如果一定需要数字类型可以使用工具进行转换。

var arr=[5,6,7,8,9,0];
for(var index in arr){
console.log(arr[index])
}

例:使用for in遍历对象:{“name”:“abc”,“age”:18,“height”:180}

var obj={"name":"abc","age":18,"height":180}
     for(var index in obj){
       console.log(index+":"+obj[index])
     }

API

数组本身提供给我们的操作数组,截取数组某些行为的工具。

当需要查看某个不会的API时,使用百度搜索

例如:push mdn

或者查看: Array - JavaScript | MDN (mozilla.org)

字符串API: String - JavaScript | MDN (mozilla.org)

使用方法
数组名.api()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值