靡语IT:JavaScript数组

news2024/11/15 21:35:04

目录

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://www.coloradmin.cn/o/1467840.html

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

相关文章

SpringBoot3+Vue3 基础知识(持续更新中~)

bean 把方法的返回结果注入到ioc中 1: 2: 3: 组合注解封装 实战篇: 解析token: 统一携带token: 驼峰命名与下划线命名转换: NotEmpty!!! mybatis: PageHelper设置后,会将pageNum,和pageSize自己拼接…

动态绑定样式,uniapp,用三元运算动态绑定多个class类样式,动态绑定的样式可以和原始样式共存

介绍 | uni-app官网 vue、uniapp中动态添加绑定style、class 9种方法实现_vue style动态绑定-CSDN博客 uniapp使用三元运算符动态绑定元素的style样式_uniapp style动态绑定-CSDN博客 对象写法,可以写多个class类 class类的名字:判断条件,最后结果只有…

【k8s资源调度-StatefulSet】

1、部署对象StatefulSet资源(无状态应用) StatefulSet针对的是有状态应用,有状态应用会对我们的当前pod的网络、文件系统等有关联。 2、配置文件如下 StatefulSet资源的配置文件粗略如下,如下的配置信息包含了数据卷,…

MobaXterm连接VirtualBox虚拟机

目录 1.下载MobaXterm 2.获取连接配置 3.mobaXterm连接虚拟机 4.更好的方案 1.下载MobaXterm 据说MobaXtrem是远程终端的超级全能神器,官网下载地址:MobaXterm free Xserver and tabbed SSH client for Windows 选择适合你的版本:一个是Home Editi…

【Docker】初学者 Docker 基础操作指南:从拉取镜像到运行、停止、删除容器

在现代软件开发和部署中,容器化技术已经成为一种常见的方式,它能够提供一种轻量级、可移植和可扩展的应用程序打包和部署解决方案。Docker 是目前最流行的容器化平台之一,它提供了一整套工具和技术,使得容器的创建、运行和管理变得…

实现外网手机或者电脑随时随地远程访问家里的电脑主机(linux为例)

文章目录 一、背景概要二、安装配置花生壳软件(linux版本)三、手机端(外网)验证连接四、安装ubuntu20server版系统遇到的问题记录 一、背景概要 由于经常在遇到某些问题的时候,针对某一个场景的理解,需要借助于自己的电脑去编译(aosp/linux/qemu)代码查…

【MySQL】数据类型(常见类型)-- 详解

一、数据类型分类 二、数值类型 1、tinyint 类型 在 MySQL 中,整型可以指定是有符号的和无符号的,默认是有符号的。 有符号: 插入数据越界测试: 在 MySQL 表中建立属性列时,我们可以发现列名称在前,类型在…

使用python查看官网是否发布新的内容

目录 前言 第一章、python介绍和使用pip install下载包 1.python介绍 2.使用vscode编写python 3.pip install的使用 第二章、查看官网是否发布新的内容 第三章、代码实现 目录结构 代码实现 check_new_news.py files.py news.py main.py file.txt 运行演示 前言 也…

【QT 5 +Linux下软件生成+qt软件生成使用工具+学习他人文章+第一篇:使用linuxdeployqt软件生成】

【QT 5 Linux下软件生成qt软件生成使用工具学习他人文章第一篇:使用linuxdeployqt软件生成】 1、前言2、实验环境3、自我学习总结-本篇总结1、新手的疑问,做这件事的目的2、了解工具:linuxdeployqt工具3、解决相关使用过程中问题 4、参照文章…

python[6]

类和对象 面向对象编程–说白就是让对象干活 创建类:class 类名: 创建类对象 对象名 类名() 构造方法 1、构造方法的名称是__init__ 2、构造方法的作用? 构建类对象的时候会自动运行 构建类对象的传参会传递给构造…

高级RAG:揭秘PDF解析

原文地址:https://pub.towardsai.net/advanced-rag-02-unveiling-pdf-parsing-b84ae866344e 2024 年 2 月 3 日 附加内容:揭秘PDF解析:如何从科学pdf论文中提取公式 对于RAG,从文档中提取信息是一个不可避免的场景。确保从源头…

python:读 Freeplane.mm文件,使用 xml.etree 生成测试案例.csv文件

Freeplane 是一款基于 Java 开源软件,继承 Freemind 的思维导图工具软件,它扩展了知识管理功能。 读取 Freeplane.mm文件,使用 xml.etree 生成测试案例.csv文件 编写 fpmm_etree_csv.py 如下 #-*- coding: UTF-8 -*- """ …

AWS安全组是什么?有什么用?

最近看到小伙伴在问,AWS安全组是什么?有什么用?今天我们大家就来简单聊聊,仅供参考哦! AWS安全组是什么?有什么用? 【回答】:AWS安全组是一种虚拟防火墙,用于控制进出…

Spring Security学习(七)——父子AuthenticationManager(ProviderManager)

前言 《Spring Security学习(六)——配置多个Provider》有个很奇怪的现象,如果我们不添加DaoAuthenticationProvider到HttpSecurity中,似乎也能够达到类似的效果。那我们为什么要多此一举呢?从文章的效果来看确实是多…

2024年 Openai的API相关全部概论汇总(通用版)

2024年 Openai的API相关全部概论汇总(通用版) 文章目录 2024年 Openai的API相关全部概论汇总(通用版)一、前言1、python快速开始 二、Openai 平台以及相关项目1、Openai的API管理平台2、ChatGPT项目推荐(1)…

ONLYOFFICE桌⾯应⽤程序v8.0:功能丰富,⽀持多平台

文章目录 可填写的 PDF 表单RTL支持电子表格中的新增功能其他改进和新增功能与 Moodle 集成用密码保护 PDF 文件快速创建文档本地界面主题总结 继 ONLYOFFICE 文档 v8.0 的发布后,很高兴,因为适用于 Linux、Windows 和 macOS 的 ONLYOFFICE 桌面应用程序…

ZYNQ W25Q256FVEI flash启动烧写系统

烧写ZYNQ petalinux从flash启动,W25Q256FVEI是FLASH型号,发现BOO.BIN能启动,报错: Wrong Image Format for bootm command ERROR: cant get kernel image! 其中烧写配置image.ub偏移地址的时候,image.ub.bin偏移地址…

- 工程实践 - 《QPS百万级的有状态服务实践》05 - 持久化存储

本文属于专栏《构建工业级QPS百万级服务》 继续上篇《QPS百万级的有状态服务实践》04 - 服务一致性。目前我们的系统如图1。现在我们虽然已经尽量把相同用户的请求转发到相同的机器,并且在客户端做了适配。但是因为成本,更极端的情况下,服务依…

【Ubuntu】使用WSL安装Ubuntu

WSL 适用于 Linux 的 Windows 子系统 (WSL) 是 Windows 的一项功能,可用于在 Windows 计算机上运行 Linux 环境,而无需单独的虚拟机或双引导。 WSL 旨在为希望同时使用 Windows 和 Linux 的开发人员提供无缝高效的体验。安装 Linux 发行版时&#xff0c…

猫头虎分享已解决Bug || Error: Target container is not a DOM element (React) ‍

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …