数组的分类:
1.创建数组方法:
2.操作数组的方法
7--
一、什么是数组?
答:
- 数组的定义:
1.英文中“array”的意思是有序的排序,以形成秩序。
2.在编程语言,数组是一种数据类型。这种数据类型把同类的数据存储在内存中的一块连续地址上。
3.JS中,数组同样也是一种数据结构。数组就是存储在连续内存中的值的有序集合。与其他编程语言不同的是,JS数组可以存储不同类型的数据
[1,2,3,4,5,6]
['香蕉','','']
['zhangsan',19,false,['','']]
数组元素
1.数组元素使用方括号包裹
2.多个元素之间用引文逗号分隔
数组索引
- 定义:
1.数组中的每一个元素都对应一个唯一有序数字,这个数字表示数组元素的位置,这个数字叫"索引(下标)"
数组分类:
1.空数组:不包含任何元素的数组
2.一维数组:储存的是原始值
[1,2,3,4,5,6]
3.二维数组:存储的是元素列表
['zhangsan',19,false,'打羽毛球']]]
4.多维数组:储存元素列表的列表。。。。
5.稀疏数组:定义:数组元素的分布和数组索引不是一一对应的;
[,'a',,'w',,'o']//lenght:6 元素只要三个
- 特点:数组的lenght属性长度,不能反映对数组元素的长度。
6.密集数组:数组元素和数组索引一一对应;特点:密集数组的lenght属性可以准确的反应数组元素的数量。
['a','b','c',]
二、创建数组的方法
1.字面量
语法:
[元素1,元素2,元素N]
2.new Array()构造函数
语法:
new Array(参数)
3.ES6新增扩展符是(...)
4.使用内置方法创建(种)
- String.Split
- Array.from(伪数组)
- Array.map
- Array.filter
迭代 、
构造函数
//创建数组
let arr=['hello']
操作数组
查询数组长度
- 语法:
Array.lenght//返回一个数字,表示数组长度
法一:查询数组最后一个方法:Array[array.lenght-1]
法二:const arr=[A'','B',C'']//需求:求'a','b','c','d'???
答:添加一个新属性:arr[3]=d/arr[arr.lenght]='d'
向数组的a前面添加o(是修改):arr[arr.lenght]='d'//arr[0]='o'
法三:利用lenght属性删除数组
const arr=[A'','B','C','d','e']
arr.lenght=3
comselo.log(arr)//'a','b','c'
三、访问数组元素方法
- 定义:使用索引法访问数组元素
- 语法:
数组名[索引]
四、修改数组元素的方法?
- 定义:使用索引赋值法修改数组元素
- 语法:
数组名[索引]=赋值后的**新值**
五、删除数组方法
法一:使用**内置方法删除**
- Array.pop()
- Array.shift()
**- Array.splice()****同用方法:添加、删除、修改数组元素!**
法二:delete操作符删除
- 语法:delete 数组名[索引]//只删除元素,不删除索引位置。会留下一个”孔“变稀疏数组;
- 示例:
const arr=['a','b','c','d']
delete arr[1]//['a',,'c','d']
六、添加数组元素
- 法一:使用索引添加
- 语法:
数组名[数组长度]=新值
- 法二:使用内置方法添加
- Array.push()
- Array.unshift()
**- Array.splice()****同用方法:添加、删除、修改数组元素!**
- Array.concat():
七、遍历数组元素
- for循坏
- for of循坏
- for in循坏
示例:
<script>
const arr = ['a', 'b', 'c', 'd']
// for(属性名 in 对象)
for (attr in arr) {
console.log(attr)
console.log(arr[attr])
}
</script>
- 数组迭代器法(9大):
数组的特点
1.数组是有索引的
2.数组是有长度的
3.比较数组:是地址的比较
4.复制数组:是数组地址的复制
js的原始类型
Number String Boolean Null Undefined Symbol
2. 原始类型的值无法更改,对象类型的值是可以修改
3. 对象类型:相等比较
比较对象是否相等,不是比较它们的值。对象的比较是在比较引用地址:当且仅当它们的引用的是同一个对象时,它们才相等。
4. 复制原始、对象类型的值
复制原始类型变量的值时,会将值拷贝一份,和原来的值是相互独立的
复制对象类型变量的值时,会将存储在变量中的值拷贝一份,也就是它所指向的对象在内存中的地址值。复制操作结束后,它们俩指向同一对象。
Array.splice()
- 定义:
splice() 方法通过添加、删除、替换 - 语法:
数组名.splice(参数1,参数2,参数3)
数组名.splice(start(起始位置),删除数组元素的数量,新增元素)
数组名.splice(数字,数字,元素)
参数1:必须要填
参数2:可选
参数3:可选
- 返回值: 1.返回一个数组,包含已删除的元素(返回被删除的原数组);2.空数组,如果每一删除任何元素;
- 示例:
<script>
const arr1 = ['香蕉', '樱桃', '猕猴桃', '苹果']
//const arr2 = arr1.splice(2,1) //从2开始删除一个 删除成功,返回元素的数组
const arr2 = arr1.splice(2,0,'榴莲')//位置2开始,删除0个元素,新增榴莲
console.log(arr1)//
console.log(arr2)//
</script>