当前位置: 首页 > 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…...

JIT热路径识别失效?手撕Python 3.14 _pyjitsymbol.c源码,定位3个未文档化的profile阈值陷阱(内附补丁POC)

第一章&#xff1a;JIT热路径识别失效&#xff1f;手撕Python 3.14 _pyjitsymbol.c源码&#xff0c;定位3个未文档化的profile阈值陷阱&#xff08;内附补丁POC&#xff09;Python 3.14 引入的 _pyjitsymbol JIT 框架在实际压测中频繁出现热路径“失焦”现象&#xff1a;高频率…...

Wan2.2-I2V-A14B企业应用:法律文书解读AI动画视频生成系统

Wan2.2-I2V-A14B企业应用&#xff1a;法律文书解读AI动画视频生成系统 1. 系统概述与核心价值 法律行业每天需要处理大量文书材料&#xff0c;传统的人工解读和可视化呈现方式效率低下且成本高昂。Wan2.2-I2V-A14B法律文书解读AI动画视频生成系统正是为解决这一痛点而生。 这…...

当知识有了‘关系网‘:LightRAG如何让大模型‘秒懂‘你的文档?

想象一下&#xff0c;你有一座藏书万卷的图书馆&#xff0c;但你找书的方式只有一种——记住每本书某个页面的关键词&#xff0c;然后靠"猜"来定位。 这&#xff0c;就是传统RAG系统的尴尬处境。 今天要介绍的这个开源项目LightRAG&#xff0c;被顶会EMNLP 2025接收…...

Qwen3.5-9B-AWQ-4bit惊艳图文效果:多张测试图主体识别与语义概括对比展示

Qwen3.5-9B-AWQ-4bit惊艳图文效果&#xff1a;多张测试图主体识别与语义概括对比展示 1. 模型能力概览 千问3.5-9B-AWQ-4bit是一款支持图像理解的多模态模型&#xff0c;能够结合上传图片与文字提示词&#xff0c;输出中文分析结果。这个量化版本在保持较高精度的同时&#x…...

影刀+即刻:碎片化信息自动归类的联动玩法

影刀与即刻联动实现信息自动归类影刀RPA作为自动化工具&#xff0c;与即刻APP的推送功能结合&#xff0c;可高效管理碎片化信息。以下为具体实现方法&#xff1a;创建即刻机器人 在即刻APP中创建自定义机器人&#xff0c;设置关键词触发规则。例如设置"#工作""#…...

联想新品入局,AI智能终端市场格局生变

联想新品发布&#xff0c;直击Mac mini“养虾”痛点2026年3月31日&#xff0c;联想集团正式发布YOGA AI Mini与Think AI Tiny两款AI原生智能终端。其中&#xff0c;YOGA AI Mini面向个人消费市场&#xff0c;精准对标当下被众多用户用于运行OpenClaw的Mac mini。Mac mini虽因便…...

VideoSrt:零基础视频字幕自动化解决方案

VideoSrt&#xff1a;零基础视频字幕自动化解决方案 【免费下载链接】video-srt-windows 这是一个可以识别视频语音自动生成字幕SRT文件的开源 Windows-GUI 软件工具。 项目地址: https://gitcode.com/gh_mirrors/vi/video-srt-windows 视频创作者的效率痛点&#xff1a…...

实体店有没有必要做门店小程序?

在当前消费行为不断向线上延伸的背景下&#xff0c;实体店是否需要搭建门店小程序&#xff0c;已经成为很多经营者在数字化转型过程中必须面对的问题。实体店是否有必要做门店小程序&#xff0c;取决于其是否需要提升获客能力与用户复购效率。一、为什么会出现这个问题在实际经…...

Phi-4-mini-reasoning作品集:自动将推理过程转化为教学级讲解语言

Phi-4-mini-reasoning作品集&#xff1a;自动将推理过程转化为教学级讲解语言 1. 模型简介 Phi-4-mini-reasoning是一个轻量级的开源文本生成模型&#xff0c;专注于将复杂推理过程转化为清晰易懂的教学语言。作为Phi-4模型家族的一员&#xff0c;它特别擅长处理需要逐步解释…...

实战演练:基于快马与豆包开放平台,快速开发智能邮件处理助手

今天想和大家分享一个实战项目&#xff1a;基于豆包开放平台的智能邮件助手开发过程。这个工具特别适合需要频繁处理邮件的职场人士&#xff0c;能自动完成邮件摘要、待办事项提取、回复草拟等重复性工作。 项目背景与需求分析 日常工作中&#xff0c;我们经常要处理大量邮件。…...