JavaScript-数组

news2025/1/15 6:48:21

学习目标:

  • 掌握数组

学习内容:

  1. 数组是什么
  2. 数组的基本使用
  3. 练习
  4. 操作数组

数组是什么:

  • 数组Array 是一种可以按顺序保存数据的数据类型
  • 场景:如果有多个数据可以用数组保存起来,然后放到一个变量中,管理非常方便。

数组的基本使用:

  • 声明语法
let 数组名 = [数据1,数据2... ,数据n]
<title>数组</title>
</head>

<body>
  <script>
    // let 数组名 = [数据1,数据2,...,数据n]
    // let arr = [10,20,30]
    // 1.声明语法  有序
    let arr = ['雪碧', '丸子', '妮妮', '星星', '月亮']
    // 2.使用数组  数组名[索引号] 从0开始
    console.log(arr[0])  // 雪碧

    //3.数组长度  = 索引号 + 1
    console.log(arr.length) // 5



  </script>

</body>
let arr = new Array(数据1,数据2... ,数据n)
<title>数组的基本使用</title>
</head>

<body>
  <script>
    //1.字面量声明数组
    // let arr = [1,2,3,'pink',true]
    //2.使用new Array  构造函数声明   了解
    let arr = new Array(1, 2, 3, 4)
    console.log(arr)
  </script>

</body>

  1. 数组是按顺序保存,所以每个数据都有自己的编号。
  2. 计算机中的编号从0开始,所以雪碧的编号为0,丸子的编号为1,以此类推。
  3. 在数组中,数据的编号也叫索引或下标
  4. 数组可以存储任意类型的数据。
  • 取值语法
数组名[下标]
let arr = ['雪碧', '丸子', '妮妮', '星星', '月亮']
arr[0] //雪碧
arr[1] //丸子
  1. 通过下标取数据。
  2. 取出来是什么类型的,就根据这种类型特点来访问。
  • 一些术语
  1. 元素:数组中保存的每个数据都叫数组元素。
  2. 下标:数组中数据的编号。
  3. 长度:数组中数据的个数,通过数组的length属性获得。
let arr = ['雪碧', '丸子', '妮妮', '星星', '月亮']
console.log(arr[0]) // 雪碧
console.log(arr[1]) //丸子
console.log(arr.length) //5
  • 遍历数组(重点)

用循环把数组中每个元素都访问到,一般会用for循环遍历。

for (let i = 0; i < 数组名.length; i++) {
      数组名[i]
    }

练习:

  • 数组求和与平均值
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>练习-数组求和</title>
</head>

<body>
  <script>
    let arr = [2, 6, 1, 7, 4]
    //1.求和的变量 sum
    let sum = 0

    //2.遍历累加
    for (let i = 0; i < arr.length; i++) {
      // sum = sum + arr[i]
      sum += arr[i]
    }
    document.write(`所有元素的和是${sum}`)
    //3.平均值 sum / arr.length = 4
    document.write(`数组的平均值是${sum / arr.length}`)

  </script>

</body>

</html>
  • 数组求最大值和最小值
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>练习-数组求最大值</title>
</head>

<body>
  <script>
    let arr = [2, 6, 1, 77, 52, 25, 7]
    let max = arr[0]
    //遍历数组
    for (let i = 1; i < arr.length; i++) {
      // 如果max比数组元素里面的值小,我们就要把这个数组元素赋值给max
      if (max < arr[i]) {
        max = arr[i]
      }
    }
    console.log(max)
  </script>

</body>

</html>
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>练习-数组求最小值</title>
</head>

<body>
  <script>
    let arr = [2, 6, 1, 77, 52, 25, 7]
    let min = arr[0]
    for (let i = 1; i < arr.length; i++) {
      if (min > arr[i]) {
        min = arr[i]
      }
    }
    console.log(min)
  </script>

</body>

</html>

操作数组:

数组本质是数据集合,操作数据无非就是 增 删 改 查 语法。

在这里插入图片描述

  • 操作数组-改
 <title>操作数组-</title>
</head>

<body>
  <script>
    let arr = ['pink', 'red', 'green']
    //修改
    // arr[0] = 'hotpink'
    // console.log(arr)

    //给所有的数组元素后面加个老师  修改
    for (let i = 0; i < arr.length; i++) {
      arr[i] = arr[i] + '老师'
    }
    console.log(arr)
  </script>

</body>
  • 操作数组-新增

数组.push()方法将一个或多个元素添加到数组的末尾,并返回改数组的新长度(重点)。

arr.push(元素1,...,元素n)

arr.unshift(新增的内容)方法将一个或多个元素添加到数组的开头,并返回该数组的新长度。

arr.unshift(元素1,...,元素n)
 <title>操作数组-新增</title>
</head>

<body>
  <script>
    let arr = ['pink', 'hotpink']
    //1.新增 push 推末尾
    // arr.push('deeppink')
    // console.log(arr)

    //2.开头追加
    arr.unshift('red')
    console.log(arr)


  </script>

</body>
  • 练习-数组筛选
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>练习-数组筛选</title>
</head>

<body>
  <script>
    let arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7]
    //1.声明新的空数组
    let newArr = []
    //2.遍历旧数组
    for (let i = 0; i < arr.length; i++) {
      if (arr[i] >= 10) {
        //3.满足条件  追加给新数组
        newArr.push(arr[i])
      }
    }
    //4.输出新的数组
    console.log(newArr)
  </script>

</body>

</html>
  • 操作数组-删除

数组.pop()方法从数组中删除最后一个元素,并返回该元素的值。

arr.pop()

数组.shift() 方法从数组中删除第一个元素,并返回该元素的值。

arr.shift()

数组.splice()方法 ,删除指定元素。

arr.splice(start,deleteCount)

arr.splice(起始位置,删除几个元素)
 <title>操作数组-删除</title>
</head>

<body>
  <script>
    let arr = ['red', 'pink', 'blue']
    //1.pop() 删除最后一个元素
    // arr.pop()
    // arr.pop()
    // console.log(arr)

    //2.shift()  删除第一个元素
    // arr.shift()
    // console.log()

    //3.splice 删除指定元素 splice(起始位置-索引号,删除几个)
    arr.slice(1, 1) //从索引号1的位置开始删,只删除1个
    // arr.slice(1) //从green 删除到最后
    console.log(arr)
  </script>

</body>

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

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

相关文章

SQL 表连接(表关联)

目录 一、INNER JOIN&#xff08;内连接,等值连接&#xff09; 二、LEFT JOIN&#xff08;左连接&#xff09; 三、RIGHT JOIN&#xff08;右连接&#xff09;&#xff1a; 一、INNER JOIN&#xff08;内连接,等值连接&#xff09; 用途&#xff1a;获取两个表中字段能匹配上…

返回值返回引用返回指针之间的区别

一、返回值 当函数返回一个值时&#xff0c;实际返回的是一个变量的拷贝。 优点&#xff1a; 简单易用&#xff1b;安全&#xff0c;不会导致悬挂指针或悬挂引用&#xff1b; 缺点&#xff1a; 当返回值是一个较大的对象时会产生拷贝开销&#xff0c;影响程序性能&#xf…

TcpClient 服务器、客户端连接

TcpClient 服务器 TcpListener 搭建tcp服务器的类&#xff0c;基于socket套接字通信的 1 创建服务器对象 TcpListener server new TcpListener(IPAddress.Parse("127.0.0.1"), 3000); 2 开启服务器 设置最大连接数 server.Start(1000); 3 接收客户端的链接,只能…

git如果将多次提交压缩成一次

将N个提交压缩到单个提交中有两种方式&#xff1a; git reset git reset的本意是版本回退&#xff0c;回退时可以选择保留commit提交。我们基于git reset的作用&#xff0c;结合新建分支&#xff0c;可以实现多次commit提交的合并。这个不需要vim编辑&#xff0c;很少有冲突。…

C语言| 编程获取数组的长度

用sizeof也可以获得整个数组在内存中所占的字节数。 总的字节数除以一个元素所占的字节数就是数组的总长度。 这样不管数组是增加还是减少元素&#xff0c;sizeof(a) /sizeof(a[0])都能自动求出数组的长度。 字符串中有一个strlen()函数可以求出字符数组中字符串的长度。 #inc…

Linux结业测试题,旨在检测ip网络配置,文件权限等基础

Linux期末结业考试 一、评分方式&#xff08;总分100分&#xff0c;理论40分在职教云考试&#xff09; 主要涉及的知识和技能点*分值权重*Linux的最小安装10%激活网络&#xff0c;并正确设置ip地址10%克隆1台机器&#xff0c;并正确设置ip地址10%SSH免密互信服务10%文件和目录…

硬件相关——硬盘分区

文章目录 系统分区什么是分区&我们为什么要用分区逻辑分区分区规则为什么主分区最多只能分4个&#xff1f;硬盘的结构扩展分区 格式化啥叫格式化为什么我们需要格式化索引呢&#xff1f; 系统分区 什么是分区&我们为什么要用分区 磁盘分区是指&#xff0c;使用分区编辑…

论文笔记:ATime-Aware Trajectory Embedding Model for Next-Location Recommendation

Knowledge and Information Systems, 2018 1 intro 1.1 背景 随着基于位置的社交网络&#xff08;LBSNs&#xff09;&#xff0c;如Foursquare和Facebook Places的日益流行&#xff0c;大量用户签到数据变得可用 这些大量签到数据的可用性带来了许多有用的应用&#xff0c;以…

Perl 语言入门学习

一、介绍 Perl 是一种高级的、动态的、解释型的通用编程语言&#xff0c;由Larry Wall于1987年开发。它是一种非常灵活和强大的语言&#xff0c;广泛用于文本处理、系统管理、网络编程、图形编程等领域。 Perl 语言的设计理念是“用一种简单的语法&#xff0c;去解决复杂的编…

基于注意力的MIL

多实例学习是监督学习的一种变体&#xff0c;其中单个类标签被分配给一袋实例。在本文中&#xff0c;作者将MIL问题描述为学习bag标签的伯努利分布&#xff0c;其中bag标签概率通过神经网络完全参数化。此外&#xff0c;提出了一种基于神经网络的置换不变聚合算子&#xff0c;该…

Spring Security——基于MyBatis

目录 项目总结 新建一个项目 pom.xml application.properties配置文件 User实体类 UserMapper映射接口 UserService访问数据库中的用户信息 WebSecurityConfig配置类 MyAuthenticationFailureHandler登录失败后 MyAuthenticationSuccessHandlerw登录成功后 WebSecur…

嘉之音真丝彩绘吸音画,把记忆与向往刻进艺术里

那一瞬间定格在记忆中 那一刹那感动到骨髓里 曾经 现在 将来 每一幅画&#xff0c;都是一个故事的开始&#xff0c;一段记忆的延续&#xff0c;它们承载着过去&#xff0c;映照着现在&#xff0c;启迪着未来。在艺术的世界里&#xff0c;每个人都能找到属于自己的那一幅画…

PyTorch -- Visdom 快速实践

安装&#xff1a;pip install visdom 注&#xff1a;如果安装后启动报错可能是 visdom 版本选择问题 启动&#xff1a;python -m visdom.server 之后打开出现的链接 http://localhost:8097Checking for scripts. Its Alive! INFO:root:Application Started INFO:root:Working…

pytorch神经网络训练(AlexNet)

导包 import osimport torchimport torch.nn as nnimport torch.optim as optimfrom torch.utils.data import Dataset, DataLoaderfrom PIL import Imagefrom torchvision import models, transforms 定义自定义图像数据集 class CustomImageDataset(Dataset): 定义一个自…

数据采集项目1-用户行为数据同步

环境准备 linux配置、克隆103和104、编写集群分发脚本、ssh无密码登录配置、jdk安装、数据模拟集群日志数据输出脚本、xcall脚本、安装hadoop、zk安装、kafka安装、flume安装、mysql安装、maxwell安装、datax安装、hive安装 用户行为数据同步-总的数据流程图 第一层flume 数据…

22 CRT工具安装流程

22 CRT工具安装流程 SecureCRT 9.5 说明书 SecureCRT 9.5是一款由VanDyke Software开发的终端仿真程序。它为Windows、Mac和Linux操作系统提供了强大的SSH&#xff08;Secure Shell&#xff09;客户端功能。SecureCRT 9.5提供了对Telnet、RLogin、Serial和X.509等协议的支持&…

没那么简单!浅析伦敦金与美元的关系

伦敦金价与美元的关系可以被比喻为跷跷板的两端&#xff0c;它们的价格走势往往呈现出此消彼长的关系&#xff1a;当美元表现强势的时候&#xff0c;伦敦金的价格可能承受到压力&#xff1b;相反&#xff0c;当美元疲软时&#xff0c;黄金往往会成为避险资产&#xff0c;令伦敦…

Flask快速入门(路由、CBV、请求和响应、session)

Flask快速入门&#xff08;路由、CBV、请求和响应、session&#xff09; 目录 Flask快速入门&#xff08;路由、CBV、请求和响应、session&#xff09;安装创建页面Debug模式快速使用Werkzeug介绍watchdog介绍快速体验 路由系统源码分析手动配置路由动态路由-转换器 Flask的CBV…

你还在手写数据库文档?推荐一款数据库文档生成工具screw

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

【调试笔记-20240612-Linux-在 QEMU 中配置 OpenWrt-23.05 支持访问 Windows 宿主机的共享目录】

调试笔记-系列文章目录 调试笔记-20240612-Linux-在 QEMU 中配置 OpenWrt-23.05 支持访问 Windows 宿主机的共享目录 文章目录 调试笔记-系列文章目录调试笔记-20240612-Linux-在 QEMU 中配置 OpenWrt-23.05 支持访问 Windows 宿主机的共享目录 前言一、调试环境操作系统&…