主要内容:
学习目标:
节数 | 知识点 | 要求 |
---|---|---|
第一节(数组的概念) | 数组介绍 | 了解 |
第二节(数组的特点) | length属性 | 了解 |
字符索引 | 了解 | |
获取指定位置的字符 | 了解 | |
字符串连接 | 了解 | |
第三节(数组调用) | 常见转义字符 | 掌握 |
第四节(数组的方法) | 创建字符串对象 | 掌握 |
第五节(二维数组) | 字符串方法 | 掌握 |
第六节(数组的实例) | 字符串的使用 | 掌握 |
为什么使用数组?
问题引入
王大爷有6只乌龟,它们的体重分别是3kg,5kg,1kg,
3.4kg,2kg,50kg 。请问这六只乌龟的总体重是少?
平均体重是多少?
不使用数组:
使用数组:
一、数组的概念
1.1什么是数组
数组就是按照一定的顺序排列的一组值,每个值都有自己的编号,编号(下标)从0开始,整个数组用可以用[]表示。
1.2数组的定义
定义数组的方式:
方式1:中括号[]
arr = [数组的值1,数组的值2,数组的值3,....];
方式2:使用new Array()
本质上,数组是对象类型的一种特殊表现形式。因此创建的时候我们可以使用new方式来创建。
typeof运算符会返回数组的类型是object。
arr = new Array(数组的值1,数组的值2,数组的值3,....);
1.3数组的访问
数组的下标是从0开始,
arr[0]:第一个数组元素
arr[1]:第二个数组元素
arr[2]:第三个数组元素
1.4数组的操作
可以是不同的数据类型
添加,修改,删除,查看操作
1.5数组的分类
按维度分:分一维数组,二维数组等。
按类型分:索引数组和关联数组。
索引数组:下标是阿拉伯数字的(0,1,2等)
关联数组:下标是一个字符串
二、数组的特点
数组就是一组数据(数字,字符串,对象)类型的集合,简单来说数组就是一种容器
\1. 数组内的数据可以是任意的类型
\2. 数组下标从0开始
\3. 数组的长度就是数组元素的个数(length)
\4. 数组下标的范围是0-length-1
三、数组的使用(重点)
3.1数组的地址传递
3.1.1 值传递
普通变量是值传递,其中的一个改变不会影响到另外一个值。因为各自都有自己的地址。
3.1.2 地址传递
数组是地址传递:其中的一个改变,会影响另一个的改变。因为他们共用一个地址。
[]:相当于(new Array)开辟了一个内存空间
八哥总结说明:
一般的数据类型:数字,字符串,布尔是值传递。
数组和对象一般是地址传递。
四、数组的方法(重点)
4.1 数组的属性
4.1.1 length的使用
length:数组的长度
length是一个可写属性。
如果设置length长度小于数组本身长度,那么多余元素舍弃。
如果设置length长度大于数组本身长度,那么缺少元素用空位补齐。
如果设置length长度不是合法数值,那么会报错Invalid array length
4.1.2 数组的空位
当数组的某个位置是空元素,即两个逗号之间没有任何值,我们称该数组存在空位(hole)。
var countryNameArr = ['China','','Japan'];
countryNameArr.length//3
4.2 数组的方法
1.concat(arr1,arr2,....):连接多个数组
2.push()
3.pop()
4.shift()
5.unshift()
6.join():给数组添加一个分隔符并将数组转化为字符串
\7. reverse():倒叙输出数组元素
\8. slice(start,end):数组的截取
9.splice():添加修改删除数组元素
10.sort():数组的排序
按照字符(a-z)的顺序排序
\11. map():循环遍历数组,有返回值
循环遍历数组,没有返回值
forEach(function(val,index,arr){
})
val:数组元素的值
index:下标
arr:数组本身
13.filter():找到符合条件的所有元素
14.find():找到符合条件的第一个元素
15.findIndex():找到符合条件的第一个元素的下标
16.some():只要有一个符合条件的就返回true
17.every():只要有一个不符合条件的就返回false
18.includes():判断是否包含指定的数组元素,有就是true,没有就是false
19.reduce():数组元素的计算(从左到右)
20.reduceRight():数组元素的计算(从右到左)
22.lastIndexOf():返回指定数组元素的最后一次出现的下标