靡语IT:JavaScript数组

目录

1.数组:Array

2.Array.length

3.数组的声明(创建)方法

4.数组去重

5.数组遍历

6.类数组对象

1.数组:Array

数组对象的作用是:使用单独的变量名来存储一系列的值。

参数

参数 size 是期望的数组元素个数。返回的数组,length 字段将被设为 size 的 值。

参数 element ...; elementn 是参数列表。当使用这些参数来调用构造函数 Array () 时,新创建的数组的元素就会被初始化为这些值。它的 length 字段也 会被设置为参数的个数。

返回值

返回新创建并被初始化了的数组。

如果调用构造函数 Array () 时没有使用参数,那么返回的数组为空,length 字 段为 0。

当调用构造函数时只传递给它一个数字参数,该构造函数将返回具有指定个数、 元素为 undefined 的数组。

当其他参数调用 Array () 时,该构造函数将用参数指定的值初始化数组。

当把构造函数作为函数调用,不使用 new 运算符时,它的行为与使用 new 运算 符调用它时的行为完全一样。

Array 对象属性

属性描述
constructor返回对创建此对象的数组函数的引用。
length设置或返回数组中元素的数目。
prototype使您有能力向对象添加属性和方法。

创建数组, 为其赋值:

实例:

提示:在 JavaScript 数组中,第一个数组元素的索引值为 0,第二个索引值为 1, 依次类推。

什么是数组?

数组对象是使用单独的变量名来存储一系列的值。

如果你有一组数据(例如:车名字),存在单独变量如下所示:

然而,如果你想从中找出某一辆车?并且不是 3 辆,而是 300 辆呢?这将不是一 件容易的事!

最好的方法就是用数组。

数组可以用一个变量名存储所有的值,并且可以用变量名访问任何一个值。 数组中的每个元素都有自己的的 ID,以便它可以很容易地被访问到。

数组是值的有序集合。每个值叫做一个元素,而每个元素在数组中有 一个位置,以数字表示(从 0 开始),称为索引,整个数组用方括号 表示。

. 1、数组:一组数据的集合,数组的每一个数据叫做一个元素

. 2、数组元素可以是任意类型,同一个数组中的不同元素可能是对象 或数组

. 3、数组的索引是从零开始的

. 数组元素可以是任意类型。

. 数组属于一种特殊的对象

. 数组也可以为空

. λ数组长度 每个数组都有一个 length 属性,返回数组的元素数量

2.Array.length

  1. 将数组清空的一个有效方法,就是将 length 属性设为 0。

  2. 如果人为设置 length 大于当前元素个数,则数组的成员数量会增加

到这个值,新增的位置都是空位。

  1. 在 ECMAScript 5 中,可以用 Object.defineProperty () 让数组的

length 属性变成只读。

语法:object.defineProperty (object,propertyname,descriptor) ;

3.数组的声明(创建)方法

创建数组

创建一个数组,有三种方法。

下面的代码定义了一个名为 myCars 的数组对象:

1: 常规方式

使用数组直接量是创建数组最简单的方法,在方括号中将数组元素用逗号隔开即 可。

直接实例化,通过构造函数 new Array ()创建数组

2: 简洁方式

3: 字面:

数组元素的基本操作

程序运行时通常需要读取数组中的数据,有时候需要对数据进行修改。

访问数组

通过指定数组名以及索引号码,你可以访问某个特定的元素。

以下实例可以访问 myCars 数组的第一个值:

以下实例修改了数组 myCars 的第一个元素

[0] 是数组的第一个元素。[1] 是数组的第二个元素。

在一个数组中你可以有不同的对象

所有的 JavaScript 变量都是对象。数组元素是对象。函数是对象。

因此,你可以在数组中有不同的变量类型。

你可以在一个数组中包含对象元素、函数、数组:

数组方法和属性

使用数组对象预定义属性和方法:

创建新方法

原型是JavaScript全局构造函数。它可以构建新Javascript对象的属性和方法。

*实例 :创建一个新的方法* *:*

  1. 读取数据:可以使用索引查询获取数组元素和添加数组元素

  2. 添加数据:使用 push 方法将新元素添加到数组尾部.

  3. 删除末尾元素(更新数据)pop ()方法:该方法会返回删除的元素。

  4. 删除数据:可以使用 delete 运算符删除指定的元素。

  5. 删除顶端的元素 shift 方法:

  6. 在数组顶端添加元素 unshift 方法:返回值为新数组的长度,但不

建议使用,IE 会出错。

  1. splice 方法:删除、替换、插入元素

    o 会更改原数组

    o 第一参数为起始位置索引

    o 第二参数为切取元素个数

    o 第三个参数为插入元素,可选项

  2. 截取数组的一段元素 slice:

    切取部分作为新数组返回,不会对原数组改变。

    第一参数为起始位置索引

    第二参数为结束位置索引,注意区分 splice

    若省略第二个参数则直接切取到结尾

  3. 字符转换:toString 方法将数组表示为字符串。

10.join 方法输出数组元素。join ()将数组的元素转成字符串

11.Array.from()将伪数组变成数组,只要有 length 属性就可以转成数

12.数组逆序 reverse:颠倒数组元素的顺序;返回值为逆序后的新数组。

13.IndexOf()查找指定元素下标,从前往后查找

o 有重复的就返回第一个元素下标

o 元素不存在返回-1

14.LastIndexOf()查找指定元素下标,从后往前查找

15.扩充数组(合并数组) concat:将多个数组的元素合并为一个新的数

组。

16.数组元素过滤 filter ()把数组中的某些元素过滤掉,返回剩下的元素,接收的是一个回调函数

17.数组排序 sort:

o 语法 数组名.sort(sortfunction)

o sortfunction 若省略,默认为从按照 ASII 字符顺序进行 升序排列

o sortfunction 必须返回:正值、零、负值三者之一。赋 值表示第一个值大于第二个值,负值反之,零则相等。

升级:sort()函数的参数是一个比较函数,语法:sort(比较函数);

4.数组去重

. 数组元素遍历法去重

. Set 方法去重(ES6 提供的新的数据结构)。

5.数组遍历

我们可以使用 for 循环、while 循环、for..in 或者 forEach()方法来遍历数组

in 运算符和 for in 循环语句

. in 运算符用来检测对象中是否具有某一特定属性,通常用于遍历集 合中的所有元素。

. 通常我们使用 for/in 语句循环遍历对象的属性,在数组中可以遍历 数组中的所有元素。

6.类数组对象

在 JavaScript 中,有些对象被称为“类数组对象 ”。意思是,它们看上去很像 数组,可以使用 length 属性,但是它们并不是数组,无法使用一些数组的方法。

类数组对象:只包含使用从零开始,且自然递增的整数做键名,并且定义了 length 表示元素个数的对象,我们就认为他是类数组对象!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2808680.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

抖音视频提取软件怎么用|抖音数据抓取工具

针对用户获取抖音视频的需求,我们开发了一款功能强大的抖音视频提取软件,旨在帮助用户轻松获取他们感兴趣的视频内容。无需逐个复制链接,无需繁琐的下载步骤,我们的软件让抖音视频获取变得简单快捷。 使用我们的软件非常简单&…

深入探究Nginx的使用方法

目录 引言 一、网络状态页 二、Nginx 第三方模块 三、变量 (一)内置变量 (二)自定义变量 四、自定义日志 (一)有关日志的配置信息 (二)error日志的设置 1.日志的等级 2.自…

Python循环结构你学会了吗?

1.while 循环 需求:输出 10 遍的 今天天气不错 python 中的循环分为 while 循环和 for 循环 """ while 循环的基础语法: 1.初始化的表达式 while 2.条件表达式循环体(重复执行的程序)3.更新条件执行流程&#x…

我是如何深入学习理解Linux权限的,答案就在这里。

目录 1. shell命令以及运行原理2. Linux权限的概念3.Linux权限管理01.文件访问者的分类(三种人)02.文件类型和访问权限(事物属性)(1)文件类型 03.文件权限值的表示方法a)字符表示方法(三三为一组)b)8进制数…

市场复盘总结 20240223

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整,采用龙空龙模式 一支股票 10%的时候可以操作, 90%的时间适合空仓等待 二进三: 进级率中 57% 最常用的…

python 运算符总结

什么是运算符 什么是运算符? 先看如下示例 549 例子中,4 和 5 被称为操作数, 称为运算符。 而Python 语言支持以下类型的运算符: 算术运算符比较(关系)运算符赋值运算符逻辑运算符位运算符成员运算符身份运算符运算符优先级 …

JavaAPI常用类01

目录 概述 Object类 Object类_toString() 代码展示 重写toString()方法前后输出 Object类_equals() 代码展示 重写equals()方法前后输出对比 Arrays类 equals()方法 Binary Search(二分查找) copyOf()方法 sort()方法 了解sort()方法 进阶…

从ChatGPT到Sora,来了解大模型训练中的存储

1 从chatGPT到Sora 2022年底,OpenAI推出人工智能聊天机器人ChatGPT,开启了大模型领域的“竞速跑”模式。2024年2月15日,随着视频生成模型Sora的横空出世,OpenAI再度掀起热潮。 Sora将视频生成内容拉到了一个全新的高度&#xff0c…

01|Mysql底层存储引擎

1. 聚集索引(聚簇)与非聚集索引 1.1 聚集索引 索引和数据存储在一起。叶子节点存储了完整的数据记录; 1.2 非聚集索引 MyISAM存储引擎就是非聚集索引,索引和数据文件是分开存储的。索引在MYI文件中,数据在MYD文件中…

YOLO系列论文阅读(v1--v3)

搞目标检测,绕不开的一个框架就是yolo,而且更糟糕的是,随着yolo的发展迭代,yolo网络可以做的事越来越多,语义分割,关键点检测,3D目标检测。。。这几天决定把YOLO系列彻底梳理一下,在…

Linux——缓冲区封装系统文件操作

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、FILE二、封装系统接口实现文件操作1、text.c2、mystdio.c3、mystdio.h 一、FILE 因为IO相…

机器学习打分函数在分子对接中的应用系列-GB_Score

欢迎浏览我的CSND博客! Blockbuater_drug …点击进入 文章目录 前言一、GB-Score是什么?二、文献复现 -训练和验证环境1. GB score验证虚拟环境的配置2. Usage1- Preparing ligand and protein file2- Generating features3 - Repeat and extend current…

【线程池项目(四)】项目的死锁问题分析和资源回收机制的改善

在上一篇 【线程池项目(三)】线程池CACHED模式的实现中我们大概说了说cached模式的基本实现,对于多线程编程,我们需要考虑的问题也较于单线程更多、更复杂,经常存在线程同步、资源竞争等复杂的并发控制问题&#xff0c…

响应式资源素材源码图库下载平台整站系统,附带系统搭建教程

响应式资源素材源码图库下载平台整站系统,可用于做娱乐网 资源网,功能非常的齐全无任何加密也无任何后门!支持支付宝接口。 页面很美观,堪比大型网站的美工,而且页面做的也很人性 化, 用户主要分为两类&am…

【MATLAB源码-第143期】基于matlab的蝴蝶优化算法(BOA)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 蝴蝶优化算法(Butterfly Optimization Algorithm, BOA)是基于蝴蝶觅食行为的一种新颖的群体智能算法。它通过模拟蝴蝶个体在寻找食物过程中的嗅觉导向行为以及随机飞行行为,来探索解空间&a…

Python习题详解

练习&#xff1a; 1&#xff0c;计算100以内奇数的和 #计算100以内所有奇数的和 sum 0 # n 1 # while n < 100: # # sum sum n # sum n # # n n 2 # n 2 # print(sum) n 99 #求偶数时n 100 while n > 0:sum n# n n - 2n - 2 print(sum)2&#xff0c;打印直…

MySQL锁三部曲:临键、间隙与记录的奇妙旅程

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 MySQL锁三部曲&#xff1a;临键、间隙与记录的奇妙旅程 前言临键锁的奥秘间隙锁记录锁 前言 在数据库世界中&#xff0c;锁是维护数据完整性的一种关键机制。而MySQL中的临键锁、间隙锁和记录锁则是锁…

Python零基础安装教程(包含各种安装方案)以及PyCharm安装步骤

文章目录 安装方案介绍安装Python解释器安装Pycharm安装Anaconda方案参考 安装方案介绍 方案1&#xff1a;只安装Python解释器&#xff08;适合小型开发&#xff09; 方案2&#xff1a;安装集成开发环境Anaconda&#xff08;集成了Spyder&#xff0c;JupyterNotebook等编辑器&…

cmd命令开启windows桌面远程控制并设置防火墙允许远程

cmd命令开启桌面远程控制 1、开启之前&#xff1a; 2、使用管理员身份运行cmd 3、执行cmd命令 reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlset\Control\Terminal server" /v fDenyTSConnections /t REG_DWORD /d 0 /f4、如果这台电脑的防火墙打开&#xff…

【buuctf-我吃三明治】

看到这个题&#xff0c;我忽然感觉答案就在中间&#xff0c;三明治笑死了。这张原始 flag 图片包含两张图&#xff0c;为什么是两张图见下&#xff1a; 以FF D9结尾是第一张图片结束&#xff0c;FF D8 FF是第二张图片开始。 两张图片拆出来分别是下面两张&#xff08;当然没什…