当前位置: 首页 > news >正文

JavaScript中的数组

1.数组的概念

  • 数组可以把一组相关的数据一起存放,并提供方便的访问/获取方式
  • 数组是指一组数据的集合,其中每个数据称之为元素(element),在数组中可以存放任意类型的元素,数组是一种将一组数据存储在单个变量名下的优雅方式。

2. 创建数组

js中创建数组有两种方式

  • 利用new创建数组

    • var 数组名 = new Array();
      //如: var arr = new Array();  //创建了一个新的空数组
      
    • **注意:**Array(), A要大写

  • 利用数组字面量创建数组

    • //1.使用数组字面量方式创建空的数组
      var 数组名 = [];
      //2.使用数组字面量的方式创建带初始值的数组
      var arr = ['小白','大黄','旺财','小黑'];
      
    • 数组字面量时方括号[ ]

    • 声明数组并赋值称之为数组的初始化

    • 这种字面量方式也是我们以后使用最多的方式

3.数组元素类型

数组中可以存放任意类型的元素,例如:字符串、数字、布尔型等

var arrStatu = ['旺财',12,true,20.5];

一般我们会在一个数组中存储同一种数据类型的数据

4.获取数组中的元素

索引(下标):用来访问数组中元素的序号(数组中下标是从0开始的)

语法:数组名[索引/下标]

//1.数组(Array):是一组数据的集合,存储在单个变量下的一种优雅存储方式
//2.创建数组方式一:利用new
var arr1 = new Array();  //创建了一个空的数组
//3.创建数组的方式二:利用字面的方式创建数组
var arr2 = [];  //创建了一个空的数组
//数组里面的数组一定要用逗号分隔开
var arr3 = [1,2,'旺财','柯震东','房祖名',true]; //初始化了一个数组//元素:就是数组中的一个数据,每一个数组中的一个数据就称之为一个元素
console.log(arr3);//获取到数组中某一个元素,可以通过:数组名[索引/下标]。索引/下标是从0开始的
console.log(arr3[2]);
console.log(arr3[4]); //房祖名
console.log(arr3[40]); //undefined

5.遍历数组

  • 遍历数组:

    • 把数组中的每一个元素从头到尾都访问一次(类似于学生点名),可以通过for循环遍历数组中的索引实现

    • var arr = ['小白','小黑','旺财','小强'];for(var i = 0; i <= 3; i++){console.log(arr[i]);
      }
      
  • 数组的长度

    • 数组的长度默认情况下表示数组中的元素的个数

    • 数组名.length

    • //技巧:i从0开始(数组的下标是从0开始的);i < arr.length 因为length是元素的个数,下标是元素个数减1
      for(var i = 0; i < arr.length; i++){console.log(arr[i]);
      }
      

注意:

  • 数组里面的元素个数发生了变化,这个length属性的值也会跟着变化
  • 如果设置了length属性值大于数组元素的个数,则会在数组末尾出现空白元素undefined

6.遍历数组案例

6.1和、平均值

需求1:求数组[2,6,1,7,4] 里面所有的元素的和以及平均值

//需求1:求数组[2,6,1,7,4] 里面所有的元素的和以及平均值
var scores = [2,6,1,7,4];
var sum = 0; //和
//遍历数组
for(var i = 0; i <= scores.length - 1; i++){sum += scores[i];  //累加
}
//平均值
var avg = sum / scores.length;
console.log('总和:' + sum);
console.log('平均值:' + avg);

6.2最大值和最小值

需求2:求数组 var arr = [2,6,1,77,52,25,7,10] 中的最大值和最小值

//需求2:求数组 var arr = [2,6,1,77,52,25,7,10] 中的最大值和最小值
var arr = [2,6,1,77,52,25,7,10];
var max = arr[0];//我先认为第一个元素是最大的
var min = arr[0]; //我先认为第一个元素是最小的
//遍历数组
for(var i = 0; i < arr.length; i++){if(max < arr[i]){ //如果我认为的最大值,小于了数组中的某一个元素max = arr[i]; //如果有元素大于了我们认为的最大值,那么最大值就是这个元素}if(min > arr[i]){ //本来min我认为是最小的,但是发现有元素比min还小min = arr[i];}
}console.log('最大值:' + max)
console.log('最小值:' + min)

7.数组中新增元素

在数组的末尾添加一个元素

语法:数组名.push(元素)

//数组中新增元素
var arr = [2,3,4,5,6]//添加元素到数组的末尾
arr.push(7)
arr.push(8)//循环遍历输出
for(var i = 0; i < arr.length; i++){console.log(arr[i])
}

相关文章:

JavaScript中的数组

1.数组的概念 数组可以把一组相关的数据一起存放&#xff0c;并提供方便的访问/获取方式数组是指一组数据的集合&#xff0c;其中每个数据称之为元素(element)&#xff0c;在数组中可以存放任意类型的元素&#xff0c;数组是一种将一组数据存储在单个变量名下的优雅方式。 2.…...

UE5运行时动态加载场景角色动画任意搭配-场景角色相机动画音乐加载方法(三)

1、将场景打包为Pak并加载 1、参考这篇文章将场景打包为pak,UE4打包并加载Pak-Windows/iOS/Android不同平台Editor/Runtime不同运行模式兼容 2、在Mount Pak后直接打开Map即可 void UMapManager::OpenMap(FString Path) {UWorld* World = UGlobalManager::GetInstance()->…...

c# 中 中文、英文、数字、空格、标点符号占的字符大小

在C#中&#xff0c;中文、英文、数字、空格和标点符号在不同编码下所占的字节大小是不一样的。常见的编码有UTF-8、UTF-16、GB2312等。以下是在不同编码下各种字符类型所占的字节大小&#xff1a; UTF-8&#xff1a; 中文字符&#xff1a;3个字节 英文字符&#xff1a;1个字…...

前端_003_js扫盲

文章目录 var,let,const严格模式数据类型运算符事件常用对象函数绑定call() ,apply(),bind() 闭包浏览器中事件循环回调和异步Promiseasync和await DOMBOMAjax var,let,const let是var的升级版本&#xff0c;对于块作用域&#xff0c;var无法进行限制&#xff0c;let不会存在该…...

ValueError: You cannot perform fine-tuning on purely quantized models.

在使用peft 微调8bit 或者4bit 模型的时候&#xff0c;可能会报错&#xff1a; You cannot perform fine-tuning on purely quantized models. Please attach trainable adapters on top of the quantized model to correctly perform fine-tuning. Please see: https://huggi…...

DELL R720服务器阵列数据恢复,磁盘状态为Foreign

服务器无法正常进入系统&#xff0c;物理磁盘状态变成了Foreign 虚拟磁盘状态变成了Failed 阵列已经丢失了&#xff0c;需要手工强制导入外部配置 单击 Main Menu 屏幕上的 Configuration Management。单击 Manage Foreign Configuration 单击 Preview Foreign Configurati…...

VMDK 0X80BB0005 VirtualBOX虚拟机错误处理-数据恢复——未来之窗数据恢复

打开虚拟盘文件in7.vmdk 失败. Could not get the storage format of the medium 7\win7.vmdk (VERR_NOT_SUPPORTED). 返回 代码:VBOX_E_IPRT_ERROR (0X80BB0005) 组件:MediumWrap 界面:IMedium {a a3f2dfb1} 被召者:IVirtualBox {768 cd607} 被召者 RC:VBOX_E_OBJECT_NOT_F…...

【Verilog学习日常】—牛客网刷题—Verilog企业真题—VL67

十六进制计数器 描述 请用Verilog设计十六进制递增计数器电路&#xff0c;每个时钟周期递增1。 电路的接口如下图所示。Q[3:0]中&#xff0c;Q[3]是高位。 接口电路图如下&#xff1a; 输入描述&#xff1a; input clk , input rst_n ,…...

51、AVR、ARM、DSP等常用芯片之对比

51芯片 51芯片通常指的是基于8051内核的单片机&#xff0c;这是一种经典的微控制器&#xff08;MCU&#xff09;。虽然关于51芯片的详细现代应用和发展可能因具体型号和厂商而有所不同&#xff0c;但基于8051内核的单片机通常具有以下特点&#xff1a; 结构经典&#xff1a;8…...

PostgreSQL 和Oracle 表压缩的对比

PostgreSQL 和Oracle 表压缩的对比 Oracle 和 PostgreSQL 在表压缩的性能方面存在显著差异&#xff0c;主要体现在实现方式、压缩效果、对系统性能的影响以及适用场景等方面。以下是对两者表压缩性能的详细对比&#xff1a; 1. 实现方式 Oracle 表压缩 Oracle 提供了多种压…...

【pyspark学习从入门到精通3】弹性分布式数据集_1

目录 RDD 的内部工作机制 创建 RDDs Schema 从文件中读取 弹性分布式数据集&#xff08;RDDs&#xff09;是一种分布式的不可变 JVM 对象集合&#xff0c;它允许你非常快速地执行计算&#xff0c;并且它们是 Apache Spark 的支柱。 顾名思义&#xff0c;数据集是分布式的&a…...

宠物健康监测仪健康守护者

在宠物护理领域&#xff0c;一款名为宠物健康监测仪的智能设备正逐渐成为宠物主人的新宠。这款设备不仅仅是一个简单的听诊器&#xff0c;它更像是宠物健康的智能管家&#xff0c;能够实时监测宠物的生理指标&#xff0c;并根据这些数据提供个性化的健康建议。 宠物健康监测仪…...

手写mybatis之解析和使用ResultMap映射参数配置

前言 学习源码是在学习什么呢&#xff1f; 就是为了通过这些源码级复杂模型中&#xff0c;学习系统框架的架构思维、设计原则和设计模式。在这些源码学习手写的过程中&#xff0c;感受、吸收并也是锻炼一种思维习惯&#xff0c;并尝试把这些思路技术迁移到平常的复杂业务设计开…...

LDR6500:低成本一拖二快充线解决方案

随着科技的飞速发展&#xff0c;我们的电子设备日益增多&#xff0c;从智能手机到平板电脑&#xff0c;再到各种可穿戴设备&#xff0c;它们已成为我们日常生活不可或缺的一部分。然而&#xff0c;随之而来的充电问题也日益凸显。为了解决这一难题&#xff0c;Type-C接口一拖二…...

DS线性表之单链表的讲解和实现(2)

文章目录 前言一、链表的概念二、链表的分类三、链表的结构四、前置知识准备五、单链表的模拟实现定义头节点初始化单链表销毁单链表打印单链表申请节点头插数据尾插数据头删数据尾删数据查询数据在pos位置之后插入数据删除pos位置之后的数据 总结 前言 本篇的单链表完全来说是…...

LeetCode 73 Set Matrix Zeroes 题目解析和python代码

题目&#xff1a; Given an m x n integer matrix matrix, if an element is 0, set its entire row and column to 0’s. You must do it in place. Example 1: Input: matrix [[1,1,1],[1,0,1],[1,1,1]] Output: [[1,0,1],[0,0,0],[1,0,1]] Example 2: Input: matrix …...

鸿蒙--WaterFlow 实现商城首页

目录结构 ├──entry/src/main/ets // 代码区 │ ├──common │ │ ├──constants │ │ │ └──CommonConstants.ets // 公共常量类 │ │ └──utils │ │ └──Logger.ets // 日志打印类 │ ├──entryability │ │ └──EntryAbility.ets // 程序入口…...

QT 中如何保存matlab 能打开的.mat数据矩阵!

Windows 上安装并使用 MATIO 库来保存 MATLAB 格式的 .mat 文件&#xff0c;需要进行以下步骤&#xff1a; 1. 下载并安装 CMake MATIO 使用 CMake 构建项目&#xff0c;因此你需要先安装 CMake。 前往 CMake 官网下载适用于 Windows 的安装程序并安装。 2. 下载 MATIO 库源…...

菱形继承(多继承)

1. 什么是菱形继承 也就是多继承&#xff0c;C独有的特性。 2. 菱形继承有什么问题&#xff1f; &#xff08;1&#xff09;存在内存浪费&#xff0c;多存一份父类的父类。 &#xff08;2&#xff09;容易造成二义性&#xff08;不知道修改哪一个基本属性&#xff09;。 3. 如…...

【功能安全】什么是Aspice?

背景 如何设计开发一个符合功能安全的模块&#xff0c;大多都是按照Aspice的规范去做。所以理解Aspice就很重要。 什么是Aspice 英文全称&#xff1a;Automotive Software Process Improvement Capability dEtermanition ASPICE4.0文档 汽车软件过程改进及能力评定&#xf…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分&#xff1a; 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

手机平板能效生态设计指令EU 2023/1670标准解读

手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读&#xff0c;综合法规核心要求、最新修正及企业合规要点&#xff1a; 一、法规背景与目标 生效与强制时间 发布于2023年8月31日&#xff08;OJ公报&…...

Leetcode33( 搜索旋转排序数组)

题目表述 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...