JavaScript——数组详解

发布于:2023-01-12 ⋅ 阅读:(577) ⋅ 点赞:(0)

目录

一、了解数组

1、数组概述

2、创建数组两种方式

(一)利用数组字面量  创建数组  并赋值 默认值为 1 2 3

(二)利用new Array() 创建数组

3、语法 : 数组名[下标] /数组名[下标(下标从0开始)] = 值

4、下标

5、遍历数组

 二、数组方法

 1、push()

 2、unshift()

 3、pop() 

 4、shift()

5、判断当前的对象, 是否为数组     是 :true    否:false

 6、map

 7、filter()

 8、every()

 9、some   

10、splice   (可以获取、替换、插入元素)

(一)获取元素

 (二)替换元素

 (三)插入元素

 11、slice()

 12、indexOf()

(一)“了”,存在所以返回到数组中 “了”的下标   6

(二)0在数组中不存在,所以返回-1;

 13、includes()

(一)返回ture的示例

 (二)返回false的示例

14、sort   数组排序

三、数组元素新增

1、新增数组元素 修改length长度

 2、 读取元素

 3、新增数组元素

 4、替换原下标的内容

 四、冒泡排序 下沉算法


一、了解数组

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)

 

 四、冒泡排序 下沉算法

将数组内元素前一个和后一个比较,如果前一个大于后一个,则将大的元素放置后一位,再和下一个(第三个元素)比较,如果后一个大于前一个则不用变换顺序,后一个元素和下一个(第三个元素)比较,依次类推比较两两比较,从而达到排序的效果。

 

 

 

 

 

 

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到