JS数组

主要内容:

学习目标:

节数 知识点 要求
第一节(数组的概念) 数组介绍 了解
第二节(数组的特点) length属性 了解
字符索引 了解
获取指定位置的字符 了解
字符串连接 了解
第三节(数组调用) 常见转义字符 掌握
第四节(数组的方法) 创建字符串对象 掌握
第五节(二维数组) 字符串方法 掌握
第六节(数组的实例) 字符串的使用 掌握

为什么使用数组?

问题引入

王大爷有6只乌龟,它们的体重分别是3kg,5kg,1kg,

3.4kg,2kg,50kg 。请问这六只乌龟的总体重是少?

平均体重是多少?

不使用数组:

使用数组:

一、数组的概念

1.1什么是数组

数组就是按照一定的顺序排列的一组值,每个值都有自己的编号,编号(下标)从0开始,整个数组用可以用[]表示。

JS数组_第1张图片

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():返回指定数组元素的最后一次出现的下标

你可能感兴趣的:(java,编程)