在 Javascript 中获取不带模 (%) 运算符的余数,占 -/+ 符号

2024-05-07

对于家庭作业,我需要返回 num1 除以 num2 后的余数,而不使用内置模 (%) 运算符。我可以使用以下代码让大多数测试通过,但我一直不知道如何解释给定数字的 -/+ 符号。我需要保留 num1 上的任何一个符号,并且如果 num2 为负数,还返回一个正数 - 如何做到这一点让我大吃一惊......:) 任何清晰的信息将不胜感激!我并不是在这里寻找直接的答案,更多的是我似乎错过了一些明显的东西......也许我需要一种新的方法?

    function modulo(num1, num2) {
      if (num1 === 0) {
        return 0;
      }
      if (num2 === 0 || isNaN(num1) || isNaN(num2)) {
        return NaN;
      }
      if (num1 < num2) {
        return num1;
      }
      if (num1 > 0 && num2 > 0) {
        var counter = num1;
      while (counter >= Math.abs(num2)) {
        counter = counter - num2;
      }
      return counter;
      }
    }
    var output = modulo(25, 4);
    console.log(output); // 1

如果您考虑一下计算模数的数学过程,您可能会明白如何做到这一点,而不必求助于一堆 case 语句。相反,你可以这样想,你只是计算余数:

给定 2 个数字 a 和 b,您可以计算mod(a,b)通过执行以下操作:

q = a / b;  //finding quotient (integer part only)
p = q * b;  //finding product
remainder = a - p;  //finding modulus

使用这个想法,你应该能够将其转移到JS中。你说你不是在寻找直接的答案,所以这就是我要说的!

Edit:这是代码,就像我在评论中所说的那样,它正是我上面发布的伪代码:

function modulo(a,b){
  q = parseInt(a / b);  //finding quotient (integer part only)
  p = q * b;  //finding product
  return a - p;  //finding modulus
}

这将返回与使用 % 完全相同的值

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

在 Javascript 中获取不带模 (%) 运算符的余数,占 -/+ 符号 的相关文章

  • 如何在 contenteditable 中跟踪插入符/光标?

    我想在 contenteditable 中跟踪插入符 光标的移动 不过 我不确定最好的方法是什么 我目前正在监听点击 按下键盘 按下键盘的声音 当然 像箭头键或 ctrl x 这样的按键甚至不会触发 虽然 click 工作正常 但 keyd
  • Mat select - 获取selectionChange的旧值

    我有一个项目 其中有一个包含以下内容的表单mat select选择器 每当用户更改输入时 我都会向用户显示一个对话框来确认此操作 现在 The selectionChange 通知值何时更改并将新值传递为 event 当用户取消对话框时 有
  • 使用 ng-if 内容短暂呈现然后消失

    我的页面上有一些内容包含在 ng if 中 如下所示 div class text danger p strong Message displayed to User strong p div 然后在我的 Angular js 控制器中我有
  • div 准备好后如何调用函数?

    我的 javascript 文件中有以下内容 var divId divIDer jQuery divId ready function createGrid Adds a grid to the html html 看起来像这样 div
  • ES6 在defineAsyncComponent 中命名导入

    我想异步加载我的网络应用程序的一些元素 这是旧的导入 import Popover PopoverButton PopoverPanel from headlessui vue export default components Popov
  • Nightmare.js 截图缓冲区长度 0

    我正在运行一个 night js 脚本 我试图在其中截取页面上多个元素的屏幕截图 The first元素被捕获得很好 但折叠下方的所有其他元素都以零长度捕获 我正在努力调试这个问题 任何帮助将非常感激 基本上这个脚本会遍历一个页面并选择al
  • 为什么此 Firebase 可调用函数不返回值?

    我有一个应返回值的可调用函数 但唯一返回的是 null 以下是该功能的当前版本 我也尝试过回报第一个承诺 原来的once调用 最后在另一个then返回 GUID 在这种情况下它实际上返回了数据 但它立即返回并且 GUID 为空 我怎样才能实
  • YouTube 播放器 API:getDuration()、getCurrentTime()、getVideoData() 不起作用

    对于我的应用程序 我尝试使用 YouTube Iframe 播放器 API 来播放视频 并允许用户更改视频而无需重新加载页面 我通过使用来实现这一点player loadVideoById video id 方法 通过YouTube视频id
  • 移动设备上的剩余悬停效果

    我一整天都在努力做这个JSFiddle http jsfiddle net gsamaras q2w4jjyt 4 也适用于手机 但我所有的尝试都没有效果 在桌面上 当用户将鼠标悬停在箭头上时 它会变成红色 在移动设备上 当用户触摸 为了单
  • JavaScript 语法是什么:{Ci, CC}? [复制]

    这个问题在这里已经有答案了 我正在做一些 FF 附加开发 我看到这样的语法 var Cc Ci require chrome 只是好奇这个语法是什么 以及它是否对 FF 开发或其他东西有特殊意义 这称为解构赋值 它的一个特点是JavaScr
  • Vue: vue-i18n: 无法翻译 keypath 的值,使用 keypath 的值作为默认值

    我正在使用 Vue 我想展示三种语言 英语 他加禄语和宿务语 现在我有错误 无法转换键路径 NavbarMobile home 的值 使用 keypath 的值作为默认值 我通过 console log this i18n locale 检
  • Chrome 本机消息传递 - 为什么我会收到“找不到指定的本机消息传递主机”错误?

    根据 Chrome Native Messaging 文档 成功调用 connectNative 会返回一个端口 您可以使用该端口将消息发布到本机应用程序 Mac 应用程序 在我的例子中 nativeConnect 确实返回了一个有效的端口
  • Opera Mobile 9.7 Beta 设置焦点 [重复]

    这个问题在这里已经有答案了 我们使用手持式扫描仪将物品移入和移出库存 扫描仪运行一个 ASP 页 该页提交表单以移动项目 我们最近购买了一台运行 Windows Mobile 6 1 的新扫描仪 很快就意识到 Mobile IE 完全没用
  • 如何使用 jQuery 显示“忙”指示器?

    如何在网页中的特定点显示旋转的 忙 指示器 我想在 Ajax 请求开始 完成时启动 停止指示器 这真的只是显示 隐藏 gif 动画的问题 还是有更优雅的解决方案 您可以只显示 隐藏 gif 但您也可以将其嵌入到 ajaxSetup 中 以便
  • ajax调用后如何停止刷新页面?

    ajax 调用后我无法停止刷新页面 我尝试过放置 e preventDefault 并返回 false 但我的页面又刷新了 我不知道代码有什么问题或者什么 请帮助我在ajax调用后停止刷新页面 解决这个问题对我来说会有很大的帮助 提前致谢
  • 防止 Firefox Web 通知自动关闭

    我已经在 Firefox 中将 Web 通知与服务器发送的 DOM 事件结合使用 不幸的是 通知在大约两到三秒后消失 我更喜欢 Chrome 的方法 即让消息保持可见 在任何给定时间最多显示三个 直到用户单击通知 这是我所拥有的 windo
  • 谷歌地图的灰度

    有没有什么方法可以在不丢失任何其他功能的情况下以灰度显示 Google 地图 通过 Javascript API 嵌入 是的 他们在 api V3 中引入了StyledMaps http code google com apis maps
  • 使用 Javascript 从 HTML 表格输入单元格获取值

    我使用 Javascript 动态创建了一个 HTML 表 其中第一列由文本字段组成 第二列由输入字段组成 第三列由文本字段组成 效果很好 nrOfRows document getElementById myId value get nr
  • 如何比较 JavaScript 表格中的单元格并测试是否相等? indexOf 是如何工作的?

    我在 HTML 代码中创建了一个表格 它有 9 列和 13 行 它被 JavaScript 循环完全填满 该循环用几个数组中的人名填充它 但是 我想添加一个验证步骤 确保一行中没有两个单元格具有相同的值 并且每个单元格的值不会在其正下方的单
  • 构造函数可以返回什么值来避免返回 this ?

    确切的情况是什么 returnJavascript 中的语句可以返回除this当使用构造函数调用时new关键词 Example function Foo return something var foo new Foo 如果我没记错的话 如

随机推荐

  • 如何滚动到 div 元素底部 Selenium Webdriver

    我有一个用例 其中网页上有一个 div 元素 只要您单击链接 它就会出现一个弹出对话框 它不是实际的弹出窗口 它类似于当您单击链接进行检查时在 Facebook 中打开的对话框 对您的帖子的反应等 我使用 Selenium WebDrive
  • 如何仅对暂存内容运行 git 预提交检查?

    Suppose git status给出这个 On branch X Changes to be committed use git reset HEAD
  • 在 PLSQL 条件逻辑中使用子查询;错误 PLS-00405

    我正在构建一个使用 PHP 从 Oracle10g 数据库服务器获取数据的应用程序 我的输入表单有一系列复选框 这些复选框通过数组提交到处理页面 代码过滤到相关元素
  • IntelliJ IDEA 中的自动错误检测

    我是 Java 编程语言和 IntelliJ IDEA 2017 1 IDE 的新手 我刚刚安装了 IDE 并激活了所有各种检查 但每当我犯了错误 例如省略括号或分号 时 IDE 都无法检测到错误 此图像显示激活的检查 This is a
  • WordPress 3.3 CSS 中的相对路径

    我想添加一个图像作为标题的背景 问题是我不想添加绝对路径 因为我是在我的电脑上执行此操作 并且它们要上传到我的服务器 应该在CSS中工作 它在这里不起作用 code branding background url images backgr
  • 如何将自定义 CSS 添加到脆皮表单?

    我正在尝试在脆皮表单的帮助下为我的网站创建一个响应式表单 我没有使用引导程序 我想将自定义 CSS 添加到脆皮表单以匹配我的整个网站 HTML
  • C#.NET VS2010 断点不起作用

    当我去调试代码时 所有断点都被透明填充 只留下轮廓 并且中间有一个感叹号的小三角形位于断点的角落 当我将鼠标悬停在断点上时 错误是 当前不会命中断点 源代码与原始版本不同 我在一个多小时内没有尝试调试我的代码 在此期间我添加了一个具有多个线
  • Mac 10.8.3 上的 fltk 安装

    我正在挣扎fltk在我的 Mac 上安装 我想在Xcode 4 下载文件并解压缩后 尝试按照说明操作 2 3 Configuring FLTK Stay in your FLTK source code directory Type aut
  • 如何检查有效的电子邮件地址? [复制]

    这个问题在这里已经有答案了 有没有一种好方法可以使用正则表达式检查表单输入以确保它是正确样式的电子邮件地址 从昨晚开始就一直在搜索 如果它是子域名电子邮件地址 那么每个回答过人们有关该主题的问题的人似乎也有问题 无关紧要 即使您可以验证电子
  • 如何从 C 文件更改终端中的目录

    如何从 C 程序更改将在终端上生效的目录 实际上不要告诉 system 函数或 chdir 函数 这些仅适用于 C 中的进程或子 shell 假设我正在从 bash shell 执行一个 C 程序 其进程 ID 为 10223 那么 我可以
  • 如何在 AsyncTask 的 postExecute 方法中获取 Map 的结果?

    如何在AsyncTask的postExecute方法中获取Map的结果 我无法在结果中获取结果 Override protected void onPostExecute Map
  • Pipe 和 Tap VS 使用 ngxs 订阅

    我正在玩管道并订阅 如果我使用带有水龙头的管道 则控制台中不会登录任何内容 如果我使用订阅 它就可以工作 那么我做错了什么 import Observable from rxjs import tap take from rxjs oper
  • 让 SSLEngine 在 Android (4.4.2) 上使用 TLSv1.2?

    伙计们 我希望我遗漏了一些明显的东西 并且我希望有人能够提供一些线索 我正在尝试让 TLSv1 2 在 SSL NIO 上下文中运行 使用Android异步 https github com koush AndroidAsync库 所以我尝
  • 如何使用 ffmpeg 提取时间精确的视频片段?

    这并不是一个特别新的问题领域 但我已经尝试过那里建议的内容 但运气不佳 那么 我的故事 我有一大段 15 秒的直接来自camera mov 视频 我想从中提取特定的块 我可以通过开始时间和停止时间 以秒为单位 来识别该块 我首先尝试执行我称
  • 无效号码错误!似乎无法绕过它

    Oracle 10g 数据库 我有一张桌子叫s contact 这个表有一个字段叫做person uid This person uid字段是 varchar2 但包含某些行的有效数字和其他行的无效数字 例如 一行可能有一个person u
  • 选项卡的 AngularJS 控制器

    我的页面中有三个选项卡 我在用着tabset and tab根据Angular 引导文档 https angular ui github io bootstrap tabs 我设置了一个控制器 div 其中有tabsetas div cla
  • 从 gitlab docker runner 启动声纳扫描仪

    我有一个 CI 工作流程 集成了 linting 作业和代码质量作业 我的 Linting 工作是一个 docker runner 从应用程序代码启动我的 eslint 脚本 然后我的代码质量工作应该启动声纳扫描仪泊坞窗实例 检查我的代码并
  • 可扩展列表指示器

    我有一个可扩展的列表 所以两个问题 我见过一些类似的问题 但从未找到答案 我该怎么办 隐藏箭头 组指示器 当没有孩子的时候 我尝试在适配器中执行此操作 public View getGroupView int groupPosition b
  • 保存散点图动画

    我一直在尝试使用 matplotlib 保存动画散点图 并且我希望它不需要完全不同的代码来查看动画图形和保存副本 该图完美显示了保存完成后的所有数据点 这段代码是修改后的版本Giggi s https stackoverflow com a
  • 在 Javascript 中获取不带模 (%) 运算符的余数,占 -/+ 符号

    对于家庭作业 我需要返回 num1 除以 num2 后的余数 而不使用内置模 运算符 我可以使用以下代码让大多数测试通过 但我一直不知道如何解释给定数字的 符号 我需要保留 num1 上的任何一个符号 并且如果 num2 为负数 还返回一个