目录
(一)利用数组字面量 创建数组 并赋值 默认值为 1 2 3
3、语法 : 数组名[下标] /数组名[下标(下标从0开始)] = 值
5、判断当前的对象, 是否为数组 是 :true 否:false
一、了解数组
1、数组概述
数组:是指一组数据的集合,其中每个数据被称为元素,在数据中心可以存放任意类型的元素; 是 一种将一组数据存储在单个变量下的方式。
数组:可以通过索引(下标)来访问、设置、修改对应的数组元素,获取数组中的元素。
2、创建数组两种方式
(一)利用数组字面量 创建数组 并赋值 默认值为 1 2 3
代码编写: var arr = [1,2,3];
运行代码后,在页面按F12,控制台中可以看到已经创建的数组,1,2,3为数组中的元素,0,1,2为下标(下标:后边会介绍到),下标表示元素在数组中的位置,下标从0开始。
length:3 表示这个数组的长度为3,因为数组里有3个元素。
(二)利用new Array() 创建数组
代码编写: var arr = new Array() ;
例如:var arr = new Array(3); 表示数组里有3个空的元素
运行代码后,在网页控制台可以看到数组长度为3(length:3),没有赋值,所以只有长度.
3、语法 : 数组名[下标] /数组名[下标(下标从0开始)] = 值
代码编写 : arr[0] = 5;
运行代码后,在网页控制台可以看到数组元素为5,6,7,8,9,长度为5(length:5),0表示数组中第一个元素的位置,第一个元素的值 为5,控制台输出为:5
4、下标
*下标表示元素在数组中对应的位置,下标从0开始。
*数组可以通过下标(索引)来访问、设置、修改对应的数组元素,获取数组中的元素
声明创建数组 arr 并且为其赋值[5,6,7,8,9],arr[0]:表示数组中第一个元素的位置,即就是5的下标为arr [0]。所以网页控制台输出值为5。
5、遍历数组
读取数组中所有的元素
代码编写:for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
二、数组方法
1、push()
向数组的末尾添加一个或多个元素(多个元素用逗号隔开即可)
代码编写:将newArray中的元素添加到arr数组中去。
2、unshift()
向数组的开头添加一个或多个元素,并返回新的数组长度
代码编写:
console.log('新的数组长度:'+newArrayLength); 将元素添加进去后,数组的新长度。
3、pop()
删除最后一个元素
代码编写:
4、shift()
删除数组中第一个元素
代码编写:
5、判断当前的对象, 是否为数组 是 :true 否:false
代码编写:
6、map
map 方法 返回一个新的数组,数组中的元素为原始数组的处理后的值;
map 方法会按照原始数组中的元素顺序依次处理元素
代码编写:这里会用到一个箭头函数,红框标记处,x表示原数组(arr)里元素,最终输出结果为给原数组元素 +2。
7、filter()
filte 方法创建一个数组,新的数组中的元素是通过检查指定数组中符合条件的元素
不会对空的数组进行检测 ;不会改变原始数组。
*:这里的箭头函数表示查询原数组里的元素,是否大于2。有小于2的则会被 filter 方法删除。
8、every()
用于检测数组中的所有元素是否符合指定的条件
如果数组中检测的有一个元素不满足,则整个表达式返回false 并其他元素不会再进行检测
如果所有的元素满足条件 则返回true
代码编写:
9、some
用于检测数组中的元素是否满足指定的条件
会依次执行数组中每个元素;
如果有一个元素满足条件 则返回true;
如果没有满足条件的元素 返回 false。
注意:every 和some的异同点。
10、splice (可以获取、替换、插入元素)
.splice(开始下标的位置,结束下标的位置);
用于添加或删除数组中的元素;
如果仅删除一个元素,则返回一个元素的数组;
如果没有删除任何元素,则返回空数组;
注意:这个方法会改变原始数组
(一)获取元素
获取 下标2开始往后的4个元素 包括下标2的元素
(二)替换元素
替换下标4的元素为 6,7
(三)插入元素
在下标9的位置 插入元素 10,11
11、slice()
可以从已有数组重返回选定的元素
可以提取字符串 并返新的字符串被提取的部分
不会改变原数组
例如:原数组长度不变,新数组提取了原数组下标1开始到下标4结束的元素,但不包括下标4位置的元素。
12、indexOf()
返回指定某个字符串在 字符串中出现的位置
如果没有 则返回 -1, 如果存在 则返回下标
代码编写:
(一)“了”,存在所以返回到数组中 “了”的下标 6
(二)0在数组中不存在,所以返回-1;
13、includes()
用于判断数组中是否包含了一个指定的值,
如果有返回 是: true ,没有返回 否:false
(一)返回ture的示例
(二)返回false的示例
14、sort 数组排序
代码编写:
三、数组元素新增
1、新增数组元素 修改length长度
原数组长度为3,修改数组长度为5 ,修改后里面有5个元素,但是只有3个元素被赋值,新增的两个元素未赋值,但新增的两个元素仍然是占有数组位置的,仍然具有空间,可储存数据等。
2、 读取元素
例如:
读取下标为2 3 的元素
特殊情况:若是数组长度修改为5,而数组里只有3个元素,最后两个元素未赋值,要读取最后两个元素的话控制台会输出 undefined;
例如:
3、新增数组元素
例如:给原数组加入下标为3、4的元素,赋值为‘pink’,‘hotpink’
4、替换原下标的内容
代码编写:将原数组下标为0的元素进行替换(red替换为yellow)
四、冒泡排序 下沉算法
将数组内元素前一个和后一个比较,如果前一个大于后一个,则将大的元素放置后一位,再和下一个(第三个元素)比较,如果后一个大于前一个则不用变换顺序,后一个元素和下一个(第三个元素)比较,依次类推比较两两比较,从而达到排序的效果。