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

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

LLM基础1_语言模型如何处理文本

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken&#xff1a;OpenAI开发的专业"分词器" torch&#xff1a;Facebook开发的强力计算引擎&#xff0c;相当于超级计算器 理解词嵌入&#xff1a;给词语画"…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了&#xff0c;要么要会员、要么写的乱七八糟。这里我整理一下&#xff0c;把问题说清楚并且给出代码&#xff0c;拿去用就行&#xff0c;照着葫芦画瓢。 问题 在继承QWebEngineView后&#xff0c;重写mousePressEvent或event函数无法捕获鼠标按下事…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

接口自动化测试:HttpRunner基础

相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具&#xff0c;支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议&#xff0c;涵盖接口测试、性能测试、数字体验监测等测试类型…...