解释为什么 Array.sort 这样做

2024-02-01

当我们尝试对数字数组进行排序时,人们说使用这个

var numbers = [4, 2, 5, 1, 3];
numbers.sort(function(a, b) {
   debugger;
   return (a > b) ? (1) : (-1);
});
debugger;
print(numbers);

如果我们在调试器模式下观察参数 a,b,我们会看到以下内容

4,2
4,5
1,3
5,1
2,1
2,3
4,3

我需要知道或解释排序函数如何从内部工作才能给我这些参数???或者我需要有人解释一下发生了什么?


我用这个:

var num = [4,2,5,1,3];
num.sort(function(a,b){return a-b;});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解释为什么 Array.sort 这样做 的相关文章

  • JavaScript Array.length 属性是函数还是简单变量?

    我有以下 JavaScript 代码 我已经使用 new 关键字初始化了一个数组 因此创建了该数组对象的一个 新实例 然后 我通过向数组添加元素来填充该数组 然而我认为我犯了一个根本性的误解 代码的下一部分让我非常困惑 如果它不够清楚或者完
  • nuxt如何访问javascript文件中的env

    我无法在 nuxt 2 15 之外访问我的环境变量 当我部署时我可以看到 nuxt context config在浏览器中有正确的变量 但在自定义js文件中我无法访问process env baseURL它返回未定义 nuxt config
  • Firebase HTTP Cloud Functions - 读取数据库一次

    我有 Firebase HTTPs 功能 该函数需要根据查询参数从 Firebase 数据库读取值 并根据该数据返回结果 Firebase JS SDK 表示要使用以下命令来执行此操作 return firebase database re
  • Java byte[] 与 String 之间的转换

    为什么这个junit测试失败了 import org junit Assert import org junit Test import java io UnsupportedEncodingException public class T
  • 在 Nodejs/javascript 中的 Excel 中创建动态数量的列或标题

    我用过exceljsNodejs中用于将json数据导出到excel的模块 它工作正常 但必须在添加行之前预定义标题 列的名称 即列是固定的 添加行后 我无法动态添加列 我尝试了许多通过 npm 提供的模块 但它们都具有相同的功能 那么 有
  • 从一个页面导航到另一个页面时,JavaScript 不会执行

    我正在构建我的第一个 Ruby on Rails 应用程序 并尝试创建一个动画导航栏 我正在使用 jQuery 和 Turbolink 这是我的application js under app assets javascripts docu
  • 如何清除画布元素中的多边形区域?

    我使用过clearRect函数 但没有看到多边形的等效函数 我天真地尝试过 ctx fillStyle transparent ctx beginPath ctx moveTo 0 0 ctx lineTo 100 50 ctx lineT
  • 外部 CSS 是否应用于 jsPDF 生成的 pdf

    我已经开始使用 jspdf 制作一些演示 我有一个 html 文件 我的 css 在外部文件中 我写了下面的代码来生成我的pdf pdfButton on click function var pdf new jsPDF p in lett
  • 根据用户的时间设置问候语(早上好,下午好......)

    任何人都可以推断如何根据用户的时间设置实现基本的 晚上好 或 早上好 也许 PHP 会获取服务器时间 但我希望用基于时间的适当问候语来问候网站访问者 并考虑到他们一天中的时间 E G 早上好 晚上好 下午好 基于它 getHours 日期对
  • 使用 ECMA 脚本向节点(页面)添加新属性

    我需要在页面激活时向页面添加属性 我决定建立一个工作流程 在激活步骤之前执行相同的操作 我的自定义工作流程步骤 激活步骤之前的步骤 使用 ECMA 脚本来实现此目的 这是我到目前为止所拥有的 var workflowData granite
  • 为什么 html 中的 AngularJS 错误没有显示在控制台中?

    Here s a fiddle http jsfiddle net 6y7odxmj 3 用于说明 当 ng click 指令 例如 调用未在控制器的 scope 或其父级 上定义的函数时 它会默默地失败 当我尝试调试网页时 这种行为令人抓
  • 检查某个元素是否在没有 jQuery 的情况下“聚焦”

    我几乎确信我能在这里找到答案 但我没有成功 您如何检查事件调用时是否选择 聚焦 某个对象 我试过if document activeElement object HTMLBodyElement 但显然 activeElementonLoad
  • 什么是{| ... |} 在 JavaScript 中是什么意思? [复制]

    这个问题在这里已经有答案了 通读 javascript 代码库 我遇到了如下代码块 export type RouteReducerProps error Error isResolving boolean isResolved boole
  • 从变量值动态设置 ng-controller

    我正在使用 AngularJs 和 NodeJS 开发一个应用程序 我对将控制器的名称设置为主控制器中的变量的值感到震惊 为了更好地解释它 我的 index html 看起来像这样 tbody tr td td td member task
  • 如何使用 Ajax 在 Flask 中发布按钮值而不刷新页面?

    我有一个问题 当我单击 Flask 应用程序中的按钮时 我想避免重新加载 我知道有 Ajax 解决方案 但我想知道如何将我的按钮链接到 ajax 函数以发布按钮值并运行链接到其值的 python 函数 这是我的 html 按钮 div di
  • 将base64图像转换为Node Js中的文件

    我是 Node Js 新手 我需要包含用户的个人资料图片 我从 IOS 应用程序收到 Base64 图像的请求 我需要将其存储在 images 文件夹中并将图像路径保存在 mongodb 数据库中 我使用了以下代码 var bitmap n
  • 角度距离计算

    我正在使用角度制作距离计算应用程序 Html
  • Javascript For 循环在 dom 元素上执行[重复]

    这个问题在这里已经有答案了 我有 javascript 代码来获取具有类名称的元素 并迭代从元素中删除该类 var elements document getElementsByClassName test console log Leng
  • D3.js - 更改鼠标悬停时元素的不透明度 IF 条件 = false

    我正在制作一个带有过滤器的交互式 D3 js 图表 当用户单击选定的复选框时 该过滤器会显示点 此外 在鼠标悬停事件上 所选点旁边将出现一个弹出窗口 其中包含一些信息 由于图表上的点数量相对较多 因此我选择在取消选中相应复选框时使相关点变得
  • 如何运行 Mike Bostock 的 D3 示例?

    我一直在尝试经营迈克博斯托克透视地球仪 http bl ocks org mbostock 6747043例如 但是如果您尝试在本地重现它 则对其 json 文件的引用是不正确的 问题来自于这行代码 d3 json mbostock raw

随机推荐

  • 如何以不同的百分比混合两种颜色

    我有两种颜色和一个视图组件 颜色一是我的组件的背景 我将把背景颜色更改为颜色二 但不是突然的 改变类似动画 例如 第二个 1 90 颜色 1 10 颜色 2 第二个 1 80 颜色 1 20 颜色 2 第二个 1 10 颜色 1 90 颜色
  • 如何迭代数组的数组

    迭代数组的最佳方法是什么 sounds Name 1 link 1 Name 2 link 2 Name 3 link 3 Name 4 link 4 我想要 HTML 格式的输出ul li结构 ul li Name 1 link 1 li
  • java/IBSQL 中的 SQL Firebird 实现

    所以尝试将该 SQL 代码放入我的 java 应用程序中 SELECT DISTINCT StRzImRo Rohstoff StRo Bezeichnung CAST SUM BwLsImAt Lieferungen StRzImRo M
  • 在 Windows 上用 C++ 计算 CPU 时间

    C 有没有办法计算运行给定程序或例程需要多长时间在CPU时间里 我使用在 Windows 7 上运行的 Visual Studio 2008 如果你想知道一个进程使用的CPU时间总量 clock nor rdtsc 直接或通过编译器内在函数
  • EventMachine 和 Ruby Threads - 这里到底发生了什么?

    我们一起使用 Rails 和 EventMachine 当将该组合与 Passenger 一起使用时 需要完成一些非常具体的设置 经过大量的试验和错误 我的 EventMachine 初始化运行良好 但我想更好地理解代码 正如您在下面的代码
  • Android 中的电源键事件?

    我想听电源键事件 我怎样才能做到这一点 目前我使用的代码是这样的 Override public boolean onKeyDown int keyCode KeyEvent event if KeyEvent KEYCODE POWER
  • 如何在 Subversion 中设置共享工作副本

    我对 Subversion 还很陌生 是否可以在网络可用共享 c svn projects website 上拥有每个人 在本例中为 3 个使用者 都可以检出和提交文件的工作副本 我们不需要构建服务器 因为它是一个 asp 站点 并且设计人
  • C# 检查表达式括号是否有效[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 表达方式 a i 1 8 9 应该返回 true 因为这样编写语法是有效的 每个左括号在正确的位置都有一个右闭合器 并且所有括号都处于
  • 如何将逗号和分号分隔的字符串拆分为二维数组

    假设我有一个变量users包含以下文本字符串 其中每个用户用分号分隔 每个用户的每个属性用逗号分隔 Bob 1234 email protected cdn cgi l email protection Mark 5678 email pr
  • 如何在 Ruby 中找到两个 Date 对象之间的天数?

    如何找到两个 Date 对象之间的天数 从结束日期减去开始日期 endDate beginDate
  • 解析 haskell 保留注释/格式

    我想做一些源代码转换 自动导入列表清理 并且我想保留注释和格式 我断断续续地听到过一些关于执行此操作的解析器的内容 我认为是 ghc 解析器 看来我可以通过从文件中提取内容来使用 hs src exts Language Haskell E
  • 库模块中的崩溃报告

    我已经尝试过 crashlytics 但不支持 这是我从他们团队得到的回复 感谢您对此的关注 Crashlytics 或 Fabric 的任何部分都不能包含在分发给外部应用程序的任何 SDK 中 正如您提到的 这将导致 SDK 和应用程序发
  • 查看运行“sbt”中“.sbtopts”中的选项

    根据这有帮助post https stackoverflow com a 14561346 409976 我删除了我的 sbtconfig 并添加了 sbtopts cd myProject cat sbtopts J Xmx4G J XX
  • 如何将 UIImage 转换为 BMP 并另存为数据(不是 JPG 或 PNG)

    我正在我的 iOS 应用程序 Swift 3 和仅支持 BMP 格式的应用程序 在 MS Windows 上 之间同步 BMP 图像 在 MS Windows 应用程序上创建的 BMP 图像作为 base64 字符串下载 另存为Data并使
  • 当源中存在其他静态文件时,为什么我无法在 django 项目中添加静态文件?

    我正在尝试为 Heroku 构建一个 Django 应用程序 并且已经完成了民意调查教程并且Heroku 文档 https devcenter heroku com articles django assets 当使用基本的 Django
  • Weld/CDI 的最佳调试技巧是什么?

    Java EE 6 的优点之一是新的依赖项注入框架 具有 Weld 参考实现的 CDI 它促使我们开始以与实现无关的方式内部迁移到 JSR 330 其明确目标是能够拥有核心 jar 被冻结 然后能够添加额外的 jar 提供新的模块来替换核心
  • 删除未使用的 HTTP 处理程序以提高性能和安全性

    在哪里可以获得所有默认 IIS HTTP 处理程序的功能列表 我需要文档 我读过一些博客 出于性能和安全原因 建议删除数十个未使用的 HTTP 处理程序 例如 建议删除 TraceHandler Integrated 和 TraceHand
  • 取消使用 Hangfire.io 计划的正在运行的作业

    我使用hangfire io 库安排作业 我可以观察它在内置仪表板中的处理情况 但是 我的系统要求可以从仪表板取消该作业 有一个选项可以删除正在运行的作业 但这只会更改数据库中作业的状态 并不会停止正在运行的作业 我在文档中看到有可以通过的
  • 如何从经验分布函数中制作样本

    我正在尝试在 Python 上实现非参数引导 它需要获取一个样本 从中构建一个经验分布函数 然后从该 edf 生成一堆样本 我该怎么做 在 scipy 中 如果您知道描述它的确切公式 我只能找到如何创建自己的分布函数 但我只有一个 edf
  • 解释为什么 Array.sort 这样做

    当我们尝试对数字数组进行排序时 人们说使用这个 var numbers 4 2 5 1 3 numbers sort function a b debugger return a gt b 1 1 debugger print number