• JavaScript之数组操作增删改、冒泡排序


    数组(Array)是一种可以按顺序保存数据的数据类型

    为什么要数组?

    思考:如果我想保存一个班里5个人的姓名怎么办?  如果有多个数据可以用数组保存起来

    6d2a9ac2a4c0443e88a7b4eaf0975e7e.png

    数组是按顺序保存,所以每个数据都有自己的编号

    计算机中的编号从0开始,所以小明的编号为0,小刚编号为1,以此类推

    在数组中,数据的编号也叫索引或下标

    数组可以存储任意类型的数据

    取值语法

    通过下标取数据取出来是什么类型的,就根据这种类型特点来访问

    d906e25612e741cbb526bec591a789ce.png

     837ca8345883422db9cb2c69188ec9c5.png

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

    412fc9b75bfa489a9b874629d26759c7.png

     fa1aa27a057c4be9a4fce69a7a6a7621.jpg

     919151ead86a480e89c131b6df940bcc.jpg

    数组操作

    61d7ccf6376b4fb989703b3dc1dce4b2.png

     

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

    8ae03d4161474e50bb0adbde9ebedb12.png

    4abb0b88ed0b43a08ac98f864bba1e23.png 

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

    3216e32f526e46298cd3d5edb26a2dab.png

    筛选数组,追加数组例子

    b37fbc4411ec4ac29d993cdb06810184.png

     数组去0

    6468ae4b2e6f4a85aac264c5c9a22a89.png

    总结:

    1. 想要数组末尾增加数据元素利用那个方法?

    arr.push() 

    可以添加一个或者多个数组元素

    返回的是数组长度

    2. 想要数组开头增加数据元素利用那个方法?

    arr.unshift() 

    可以添加一个或者多个数组元素

    返回的是数组长度

    3. 重点记住那个?

    arr.push()

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

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

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

    8a016c766d4c4c428240cdf4d82f7f94.png

    解释:

    start 起始位置: 指定修改的开始位置(从0计数)

    deleteCount: 表示要移除的数组元素的个数

    可选的。 如果省略则默认从指定的起始位置删除到最后

    e85494bb1d4c4714bb036d106012f367.png

    删除元素的使用场景:

    1. 随机抽奖,中奖的用户就需要从数组里面删除,不允许重复抽奖

    2. 点击删除按钮,相关的数据会从商品数据中删除

    总结:

    1. 想要数组末尾删除1个数据元素利用那个方法?带参数吗?

    arr.pop() 

    不带参数

    返回值是删除的元素

    2. 想要数组开头删除1个数据元素利用那个方法?带参数吗?

    arr.shift() 

    不带参数

    返回值是删除的元素

    3. 想要指定删除数组元素用那个?开发常用吗?有那些使用场景?

    arr.splice(起始位置, 删除的个数) 

    开发很常用,比如随机抽奖,比如删除指定商品等等

    冒泡排序:

    冒泡排序是一种简单的排序算法。 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列

    的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

    这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。

    比如数组 [2,3,1,4,5] 经过排序成为了 [1,2,3,4,5] 或者 [5,4,3,2,1]

    b6e6d9af01934b2b88c11ca1316ff8f9.png

    根据数据形成柱形图

    a08dddecc1e040778399425a8a872d43.png

     

     

  • 相关阅读:
    pytorch加载的cifar10数据集,到底有没有经过归一化
    kubernetes之crontab
    linux服务器基本操作
    ChatGLM2 大模型微调过程中遇到的一些坑及解决方法(更新中)
    鸟哥私房菜 第三部分 学习shell与shell script 学习笔记
    Linux 安装 kubemini
    Review of AI (HITSZ)
    今天博客访问量达到10W了,纪念一下
    矢量图形编辑软件illustrator 2023 mac特点介绍
    【SpringBoot AOP Redis实现延时双删功能实战】
  • 原文地址:https://blog.csdn.net/weixin_53155105/article/details/126180461