次要内容:
学习指标:
节数 | 知识点 | 要求 |
---|---|---|
第一节(数组的概念) | 数组介绍 | 理解 |
第二节(数组的特点) | 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():返回指定数组元素的最初一次呈现的下标