练习二、用JS语言输入数组并判断是否数组,并从小到大进行冒泡排序

2023-11-06

  1. 功能描述:在界面输入以逗号间隔开的字符串,转换成数组并判断是否有效,有效即进行排序(选择冒泡排序)

  1. 主要考点:以输入框为输入参数入口,进行逐步推导

2.1 输入框是字符串需要转换成数组

2.2 一个输入框,要是输入双位数还是会分割成,单位数值,在字符串输入框用逗号进行分割每个数值

2.3 对转换的数组看是否是一个纯数字的数组,而且每一项是否位数字(需要弹窗提示),以及正则表达式的运用(*还未全看懂正则表达式)

2.4 当遍历完数组时,进行调用冒泡排序函数的书写

2.5 Number()把数组内的字符串类型的变量变成数值型比较,不然判断会报错(因为比较的是其字符编码)

2.6 交换两个变量的多种方法

  1. 框架:elementui

  1. 相关代码

<template>
  <div class="stylebg">
    <h1>输入数组判断并进行从小到大排序</h1>
    <div>
      <span>数组</span>
      <el-input v-model="testArray"></el-input>
    </div>
    <div>
      <el-button @click="toCheck(testArray)">排序</el-button>
    </div>
    <div>
      <span>{{sortArray}}</span>
    </div>
  </div>
</template>

<script>
export default {
  data(){
    return{
      testArray:'3,5,1,10,8342,9.34,9,0.546,-9,0,-213',
      // testArray:'',
      sortArray:''
    }
  },
  methods:{
    toCheck(item){
      //1.因为输入testArray的输入框是字符串需要转换成数组
      // split方法
      // console.log(item.split(''))
      // 展开运算符
      // console.log([...item])
      // Array.from (量多1000以上,性能弱)
      // console.log(Array.from(item))

      //2.一个输入框,要是输入双位数还是会分割成,单位数值,在字符串输入框用逗号进行分割每个数值
      // console.log(item.split(','))

      //3.对转换的数组看是否是一个纯数字的数组,而且每一项是否位数字
      let checkArray =  item.split(',')
      for(var count = 0 ; count<checkArray.length ;count++){
        //4.1 每一位检查它是否是数字,不是数字需要弹窗提示
        if(this.isNumber(checkArray[count])){
          // checkArray
          console.log('是数字')
        }else{
          console.log('不是数字')
          this.$message({
            type:'warning',
            message:'输入格式错误'
          })
          return
        }
      }
      //5.当遍历完数组时,进行调用排序函数
      this.toSortArray(checkArray)
    },

    //4.2 检查输入的是否是纯数字,是则返回真
    isNumber(checkNum){
      // 正则表达式/^([0-9]+\.?[0-9]*|-[0-9]+\.?[0-9]*)$/判断是否为0,或者正负数字
      let regPos = /^([0-9]+\.?[0-9]*|-[0-9]+\.?[0-9]*)$/
      if(regPos.test(checkNum)){
        return true
      }else{
        return false
      }
    },

    //5.排序(使用的是冒泡排序)
    toSortArray(array){
      for(var count_o = 0 ; count_o< array.length; count_o++){
        for(var count_i = 0 ; count_i<array.length - count_o; count_i ++){
          //count_i是最后一位时,不进行比较
          if(count_i + 1 <= array.length - 1){
            //6.Number()把变量变成数值型比较,不然判断会报错(比较其字符编码)
            array[count_i] = Number(array[count_i])
            array[count_i + 1] = Number(array[count_i + 1])
            if(array[count_i] > array[count_i + 1]){
              //7.交换两个变量

              //7.1 使用第三变量进行交换
              // let val = array[count_i]
              // array[count_i] = array[count_i + 1]
              // array[count_i + 1] = val

              //7.2 两两相加并赋值到A,A-B赋值到B,再把A-B赋值到A
              // array[count_i + 1] = array[count_i + 1] + array[count_i]
              // array[count_i] = array[count_i + 1] - array[count_i]
              // array[count_i + 1] = array[count_i + 1] - array[count_i]

              //7.3 生成指定两个对象赋值到A,再从中取值(对象形式)
              // array[count_i + 1] = {'a':array[count_i] ,'b':array[count_i + 1]}
              // array[count_i] = array[count_i + 1].b
              // array[count_i + 1] = array[count_i + 1].a

              //7.4 生成指定两个对象赋值到A,再从中取值(数组形式)
              // array[count_i + 1] = [array[count_i] , array[count_i + 1]]
              // array[count_i] = array[count_i + 1][1]
              // array[count_i + 1] = array[count_i + 1][0]

              // OR 运算符优先级 新建数组中B=A完成赋值,并定义B,再把数组中的B取出来
              // array[count_i + 1] = [array[count_i] , array[count_i] = array[count_i + 1]][0]

              //7.5 ES6的解构赋值语法
              [array[count_i],array[count_i + 1]]=[array[count_i + 1],array[count_i]]
            }
          }
        }
      }
      this.sortArray = array
    }
  }
}
</script>

<style scoped>

</style>

5,运行效果

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

练习二、用JS语言输入数组并判断是否数组,并从小到大进行冒泡排序 的相关文章

  • 未捕获的 TypeMismatchError:无法在“CanvasRenderingContext2D”上执行“drawImage”

    我对以下代码片段有疑问 var o inserted motive find span contains document documentElement o 0 b fillText m i h b drawImage d i h e f
  • 如何从 JavaScript 中的字符串中删除空白字符?

    如何从 JavaScript 中的字符串中删除空白字符 修剪很容易 但我不知道如何将它们从inside字符串 例如 222 334 gt 222334 您可以使用正则表达式 如下所示来替换所有空格 var oldString 222 334
  • 在 Google 表格脚本中设置活动单元格的值

    我想创建一个公式 在某个单元格更改上创建时间戳 下面的代码就可以了 我现在想做的是将公式转换为纯文本 将该时间戳锚定到工作表上 如果您手动执行此操作 您将选择时间戳 复制它们并将它们粘贴为值 我不想手动执行此操作 因此我创建了下面的脚本 它
  • ReactiveX:仅对每组中的最后一项进行分组和缓冲

    如何对 Observable 进行分组 并从每个 GroupedObservable 中仅将最后发出的项保留在内存中 这样每个组的行为就像BehaviorSubject 一样 像这样的东西 user 1 msg Anyone here us
  • 如何将 Django 中的数组传递给模板并在 JavaScript 中使用它

    我想将数组传递给模板 然后通过 JavaScript 使用它 In my views py I have arry1 Str 500 20 return render to response test html array1 arry1 在
  • 使用命名的成功/错误回调在 AngularJS 中声明一个 Promise

    我正在尝试做一些与 http 服务非常相似的事情 根据我的理解 http 返回一个 Promise 对象 使用它时 语法是 http success function data success callback error function
  • 在动态创建的元素上添加事件监听器[重复]

    这个问题在这里已经有答案了 是否可以向所有动态生成的元素添加事件侦听器 Javascript 我不是页面的所有者 因此我无法以静态方式添加侦听器 对于页面加载时创建的所有元素 我使用 doc body addEventListener cl
  • 游戏手柄 JavaScript 未能按预期更新

    我正在尝试让浏览器报告我的 XBOX 控制器的状态 然而 在第一次按下按钮后 它似乎变得 卡住 我究竟做错了什么
  • “|”是什么意思(单管道)在 JavaScript 中做什么?

    console log 0 5 0 0 console log 1 0 1 console log 1 0 1 为什么0 5 0返回零 但任何整数 包括负数 都返回输入整数 单管道 有什么作用 这是一个按位或 https developer
  • 窗口大小调整触发的 DOM 事件

    我有一个布局相当复杂的页面 最初打开页面时 某些元素的对齐存在问题 但是 可以通过更改浏览器窗口的大小来 永久 解决此问题 显然 我不希望用户必须调整浏览器窗口的大小才能使页面正确显示 所以我想知道是否有一种方法可以在页面首次加载时以编程方
  • 带有 mkdocs 的本地 mathjax

    我想在无法访问互联网的计算机上使用 MathJax 和 Mkdocs 因此我不能只调用 Mathjax CDN Config mkdocs yml site name My Docs extra javascript javascripts
  • Firebase 身份验证在 iOS 登录时卡住,没有错误

    我已经使用电子邮件和密码设置了 firebase 身份验证登录的最基本实现 firebase auth signInWithEmailAndPassword email password then gt console log Logged
  • put方法中的Angularjs文件上传不起作用

    我有一个简单的待办事项应用程序 我试图在其中上传照片和单个待办事项 现在我已经创建了这个工厂函数来负责待办事项的创建 todosFactory insertTodo function todo return http post baseUr
  • 将 window.location 传递给 Flask url_for

    我正在使用 python 在我的页面上 当匿名用户转到登录页面时 我想将一个变量传递到后端 以便它指示用户来自哪里 发送 URL 因此 当用户单击此锚链接时 a href Sign in a 我想发送用户当前所在页面的当前 URL
  • @aspnet/signalr 与 @microsoft/signalr javascript 库

    aspnet signalr 与 microsoft signalr javascript 库有什么区别 两者似乎都对 DotNetCore SignalR 有效 两者似乎都很活跃 在一些教程中 我找到 aspnet signalr 在Do
  • JavaScript 中的实时摩尔斯电码转换器

    在看到谷歌关于莫尔斯电码 gmail 的愚人节笑话后 我想我应该尝试用 javascript 创建一个实时莫尔斯电码转换器 我正在使用正则表达式和替换将莫尔斯电码更改为字符 例如 replace g a replace g r 我遇到的问题
  • Javascript onload 不起作用[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在使用
  • 搜索多维数组 JavaScript

    我有一个如下所示的数组 selected products 0 r1 7up 61 Albertsons selected products 1 r3 Arrowhead 78 Arrowhead selected products 2 r
  • p5 向量减法“sub”返回错误

    我一直在尝试将 p5 草图上传到 React 构建中 使用react p5 wrapper 我能够成功在屏幕上渲染画布 但是 某些矢量函数会导致错误 var distance this position dist ball position
  • 用javascript调用外部网页(跨域)

    我正在尝试使用以下网络服务来验证提要这个问题 https stackoverflow com questions 11996430 check if a url is a valid feed 但浏览器不允许我向另一台服务器发送 ajax

随机推荐

  • flask虚拟环境搭建及flask基础

    常用端口号 http 80 https 443 ssh 22 远程访问 ftp 21 文件传输mysql 3306 redis 6379 smtp 25 邮件发送服务 pop3 110 邮件接收服务 虚拟环境 pip是python的包管理工
  • BSN-DDC 基础网络关键知识点(一)DDC背景介绍

    id BSN 2021 公众号 BSN研习社 2022年1月25日 区块链服务网络发展联盟 简称 BSN联盟 上线推出了 BSN DDC基础网络 并进入试商用阶段 同时 BSN DDC官网门户 ddc bsnbase com 上线发布 供D
  • Python——人工智能时代的通用语言

    Python对于从事数据分析的专业人士来说 并不陌生 而我正在熟悉Python的道路上 先易后难 快速驶过高速公路后 目前正在泥泞山路上挣扎 期待雨过天晴 顺利跨过瓶颈期 学习Python就像学一门外语 需要了解它的语法 按照既定的规则组词
  • TypeScript语法

    TypeScript基础语法 1 1 js与ts的区别 最大区别 js不会在赋值时检查是否与类型匹配 而ts会检查所赋的值是否与类型匹配 若不匹配则会进行报错提示 1 2 js的数据类型 两大类 1 2 1 原始数据类型 5种 原始数据类型
  • 【NOI2018模拟3.26】Cti

    Description 有一个 n m 的地图 地图上的每一个位置可以是空地 炮塔或是敌人 你需要操纵炮塔消灭敌人 对于每个炮塔都有一个它可以瞄准的方向 你需要在它的瞄准方向上确定一个它的攻击位置 当然也可以不进行攻击 一旦一个位置被攻击
  • SpringBoot集成手机验证码业务(榛子云短信服务)

    一 手机验证码的作用 举个例子 如果你开发了一个系统 那这个系统肯定会有登录功能对吧 那如果说你的密码忘记了呢 这个时候我们的解决方式是 1 联系管理员 2 再注册一个 emmm 那我以前的资料就没了呀 3 对于管理员自己而言 手动修改数据
  • 简单的介绍一下:柔性数组

    对于柔性数组 其实这个是在如今的大学生书本上是很难能找到的 原因在于 笔者现在就是大学生一枚 但是在C语言的书本上没有涉及到柔性数组的部分 经查略资料 我们可以找到 在如今的C语言中 C99规定 结构体中允许最后一个元素是未知大小的数组 这
  • 微信小程序支付后端逻辑

    小程序报名 生成订单 public function make order if IS POST data openid I POST openid data total I POST data total data crsNo W dat
  • SSM小技巧(一)、Controller中互相调用session中存储的内容

    首先 你需要在一个Controller中往session中存内容 取的名字必须含有大写字母 虽然博主也不清楚为什么 如果有知道的人请一定要通知博主 博主将感激不尽 Controller SessionAttributes Save 将Mod
  • LLM微调

    下面我只是分析讲解下这些方法的原理以及具体代码是怎么实现的 不对效果进行评价 毕竟不同任务不同数据集效果差别还是挺大的 文章目录 0 hard prompt soft prompt区别 1 Prefix Tuning 2 Prompt Tu
  • 实例 :教你使用简单神经网络和LSTM进行时间序列预测(附代码)

    翻译 张玲 校对 丁楠雅 本文约1500字 建议阅读5分钟 作者基于波动性标准普尔500数据集和Keras深度学习网络框架 利用python代码演示RNN和LSTM RNN的构建过程 便于你快速搭建时间序列的预测模型 图片来源 Pixaba
  • Gradle是什么

    以下总结作为本人学习笔记使用 Gradle是一个开源的自动构建工具 可以作为android studio工程的依赖管理和打包工具 包括三方库和jar包的依赖和链接 java和res等资源的编译和打包 1 在gradle之前 android的
  • 【JavaScript 编程语言】简介JavaScript 简介,手册规范

    1 1JavaScript 简介 让我们来看看 JavaScript 有什么特别之处 我们可以用它实现什么 以及哪些其他技术可以与其搭配产生奇妙的效果 什么是 JavaScript JavaScript 最初被创建的目的是 使网页更生动 这
  • AI 图片生成3D模型之

    AI 可以通过学习大量的图像数据来生成 3D 模型 这些模型可以用于许多不同的目的 如游戏开发 建筑设计和动画制作 为了生成 3D 模型 AI 系统通常需要输入许多 2D 图像 这些图像可以是从不同角度拍摄的照片或者是从视频中截取的帧 AI
  • mmdetection报错 TypeError: vars() argument must have __dict__ attribute

    下载官方代码 安装好环境后第一个demo就报错 报错1 error the following arguments are required img config checkpoint 添加 报错2 manager pyplot show
  • Spring Secutity oAuth2的学习

    李哥的博客不能看了 写文档又很浪费时间 先投个懒 贴个流程图 想去李哥哪里学习的小伙伴 这里有地址 17 Spring Security oAuth2 创建资源服务器2 哔哩哔哩 bilibili 项目中使用到了Oauth2 然后来李哥这里
  • java实现获取两个list交集,并集,差集

    import java util ArrayList import java util List import static java util stream Collectors toList public class Main publ
  • java读取文件方法大全

    一 多种方式读文件内容 1 按字节读取文件内容 2 按字符读取文件内容 3 按行读取文件内容 4 随机读取文件内容 import java io BufferedReader import java io File import java
  • PHP性能优化

    PHP性能优化首先分为三个方向 PHP语言级别的性能优化 gt PHP周边问题的性能优化 gt PHP自身优化 一 PHP语言级别的性能优化 1 多使用PHP 的内置函数 2 少使用错误抑制符 会产生额外的opcode开销 opcode 当
  • 练习二、用JS语言输入数组并判断是否数组,并从小到大进行冒泡排序

    功能描述 在界面输入以逗号间隔开的字符串 转换成数组并判断是否有效 有效即进行排序 选择冒泡排序 主要考点 以输入框为输入参数入口 进行逐步推导 2 1 输入框是字符串需要转换成数组 2 2 一个输入框 要是输入双位数还是会分割成 单位数值