次要内容:

学习指标:

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