javascript排序函数排序错误[重复]

2023-11-24

你好,我有一个文本框,其值如下

<input type="hidden" value="2,1,4,5,3,6,7,8,9,10,11,12" class="sortvalues" id="1_1_parent">

现在我想要获取此文本框的值,想要将值拆分为数组,然后作为最后的结果我需要一个排序的数组。

我做了什么。

 allsortedValues =  $(".sortvalues").val();
 allsortedValues = allsortedValues.split(",");
 allsortedValues = allsortedValues.sort();

当我检查数组时

 console.log(allsortedValues);

表明

  1,10,11,12,2,3,4,5,6,7,8,9

将数组排序为1, 10, 11, 12, 2.....

我什至用过

allsortedValues = allsortedValues.split(",").map(function(x){return parseInt(x)});

在应用排序之前,在其他情况下我什至使用过parseInt like

for(var i = 0; i < allsortedValues.length; i++) {

   allsortedValues[i] = parseInt(allsortedValues[i]);
}

在应用排序之前,但在所有情况下结果都是相同的。有人会指导我做错了什么吗?


您必须传入一个比较器函数,将字符串转换为数字:

allsortedvalues = allsortedvalues.sort(function(a,b) {
  return (+a) - (+b);
});

如果您的某些数组条目可能不是格式良好的数字,那么您的比较器将不得不变得更加复杂。

那个工程(+a)涉及一元+运算符,如果满足以下条件则不执行任何操作a已经是一个数字了。然而如果a is not一个数字,结果+a将是以下值之一a when 解释的作为数字,否则NaN。一个字符串是解释的通过将其作为数字的字符串表示形式进行检查和解析,以显而易见的方式将其视为数字。布尔值将转换为false -> 0 and true -> 1。价值null变成0, and undefined is NaN。最后,通过调用对象引用将其解释为数字valueOf()函数,否则NaN如果这没有帮助。

它相当于使用 Number 构造函数,如Number(a), 如果你喜欢。它的作用与+a。我是一个懒惰的打字员。

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

javascript排序函数排序错误[重复] 的相关文章

  • 如何使用 jquery 在 ajax 调用中设置标头

    我需要从我自己的应用程序调用 Office 365 Rest API 当我在同一浏览器会话上复制并粘贴 url 时 我可以看到一些 XML 如果我将该 URL 粘贴到隐身窗口中 则会收到以下错误 The custom error modul
  • 尝试制作Linux终端但失败

    这可能是一个愚蠢的问题 可能很容易找到 但我对这一切都很陌生 我似乎找不到我要找的东西 或者至少我不知道我需要寻找什么 所以我在这里 所以我想做的是创建一种 Linux 终端 这就是我到目前为止所得到的 我所坚持的是实际输入文本部分 我一直
  • 停止 ASP.NET 按钮的页面重新加载

    NET 应用程序中 我插入了一个调用 Javascript 函数的按钮 OnClientClick事件 和 VB NET 函数 OnClick event
  • 如何使用 jQuery 在悬停元素旁边显示一个 div?

    假设我有severaldiv 像这样 EDIT div class ProfilePic a href img src lib css img profile pic1 png alt class ProfilePicImg a div c
  • React Native 中的动画背景颜色

    我将如何在 React Native 中将一种颜色动画化为另一种颜色 我发现通过插入 Animated Value 您可以通过以下方式对颜色进行动画处理 var BLACK 0 var RED 1 var BLUE 2 background
  • 如何防止字段的角度自动修剪?

    有没有什么方法可以防止整个应用程序中字段的角度自动修剪 我知道我可以使用 ngTrim 指令防止指定字段出现这种情况 但将此指令添加到应用程序中的所有文本字段看起来不太好 有什么方法可以对 Angular 模块中的所有字段执行此操作吗 这是
  • img设置flex-grow来填充flex容器剩余空间,它会导致flex内部溢出flex容器[重复]

    这个问题在这里已经有答案了 以下是我的代码 text1 溢出 Flex 容器 我期望 Flex 容器中的 img 文本和 img 填充 Flex 容器其余部分
  • Jquery 选择器中的冒号

    我最近将 jquery 从 1 4 更新到 2 1 并开始出现错误 在我的代码中 我有一部分通过 id 选择元素 jQuery id name 这会产生一个错误 但是之前没有错误 1 4 如果我转义冒号 错误就会消失 他们在最新版本中添加了
  • 浏览器中的javascript:异步任务执行模型

    我正在尝试集中注意力并了解 javascript 异步在单线程浏览器环境中的工作原理 作为异步 我们可以同时处理计时器和 xhr 请求 现在假设我有类似下面的东西 function doStuff for var i 0 i lt 1000
  • JavaScript switch 语句是线性的还是恒定时间的?

    我的网站上有以下 JavaScript 以便在执行某些特定搜索时 答案会被硬编码到特定页面 function redirect var input document getElementById searchBox value toLowe
  • Javascript 搜索并替换包含方括号的字符序列

    我正在尝试在字符串 Nationality EN ESP 中搜索 EN 我想从字符串中删除它 所以我使用替换方法 代码示例如下 var str Nationality EN ESP var find EN var regex new Reg
  • 从 Web 浏览器控件读取 Javascript 变量

    我正在尝试读取从表单上的 WebBrowser 控件加载和调用的 Javascript 变量的值 Example index html 引用名为 test js 的 javascript 在 test js 上 创建并填充了几个变量 然后i
  • 是否有跨浏览器的 jQuery contentEditable 库? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 jQuery 插件 库 它可以使 contentEditable 属性在所有主要浏览器中正常工作 我什至可以不用 IE6
  • 在 for 循环中突破 Promise 块

    我有以下代码 this storeNameValidate function stores var deferred q defer console log stores for storeIndex in stores this name
  • 如何在 Strongloop 环回脚手架项目中覆盖基本用户?

    给定一个使用以下命令创建的全新项目 slc lb project myapp 我该如何更换 user 模型中models json带有 customer 模型放置在 models目录 客户应该有登录 注销等方法 并且 用户 不应该作为 AP
  • 如何使用 JavaScript 使 DIV 可见和不可见?

    你能做类似的事情吗 function showDiv DIV visible true or something 如果 DIV 是一个元素那么 DIV style visibility visible OR DIV style visibi
  • Google Calendar API:获取指定日期的空闲时段列表

    我需要获取我的谷歌日历中的免费时段列表 现在我只是获取事件列表 我在用谷歌日历 https www npmjs com package google calendar npm google calendar events list calO
  • 对数滑块

    我有一个值范围从 0 到 100 的滑块 我想将它们映射到 100 到 10 000 000 的范围 我在网上看到过一些函数 但它们都是用 C 编写的 我需要它在 JavaScript 中 有任何想法吗 您可以使用这样的函数 functio
  • Django pbkdf2_sha256 JS 实现

    我有一个来自 django 的数据库 我想从 Node js 中使用它 我有一个任务 验证用户身份 从数据库可知 算法 pbkdf2 sha256 salt 10000 次迭代和 base64 编码的哈希值 我必须在 JS 中执行哪些步骤才
  • Google Maps JavaScript API v3 方向功能

    我使用 Google Maps js API v3 我可以根据路径点显示方向this http code google com intl hu apis maps documentation directions Waypoints 我想要

随机推荐

  • Objective-C 中的方法重载?

    据我所知 Objective C 不支持方法重载 在 Objective C 中可以用什么替代方案呢 或者我应该始终使用不同的方法名称 正确 objective C 不支持方法重载 因此您必须使用不同的方法名称 但请注意 方法名称 包括方法
  • 以前的兄弟姐妹不工作

    我想瞄准第一个 p 通过选择第二个在 div 内 p p 并使用previousSibling财产 但它不起作用 p div p test p p test p div document getElementById p2 previous
  • 使用开始时间和结束时间之间的时间过滤数组或 XML

    我有一个 API 调用 该调用返回 XML 我将 XML 转换为数组 然后使用 json encode 在 jsonp 调用中发回响应 我正在做的事情正在工作 但 API 不允许我按状态过滤 按开始和结束时间过滤 也不允许我确保房间可用 几
  • 使用 AJAX 登录时 Chrome 提示保存密码

    注意 这个问题在其原始版本的基础上进行了大量编辑 问题已大大简化 类似的问题以前已经以不同的形式被问过几次 例如 如何让浏览器提示保存密码 浏览器如何知道何时提示用户保存密码 然而 这个问题涉及的是 Chrome 功能的一个非常具体的方面
  • 在 PHP 中使用分块上传 1GB 文件

    我有一个 Web 应用程序 可接受最大 4 MB 的文件上传 服务器端脚本是 PHP Web 服务器是 NGINX 许多用户请求大幅增加此限制以允许上传视频等 然而 PHP 似乎没有简单的解决方案来解决这个问题 首先 在客户端 我正在寻找一
  • 如何通过 Spring Web 服务器将 HTTP 视频流代理到任意数量的客户端

    假设我有一个视频 HTTP 流在与我的 Spring Web 服务器位于同一网络的服务器上广播 例如在某些 url 中 例如 http localhost 9090 httpstream 如何使用 Spring 将此视频流代理给任意数量的客
  • 如何将 Numba 用于 Pytorch 张量?

    我是 Numba 新手 我需要使用 Numba 来加速一些 Pytorch 功能 但我发现即使是一个非常简单的功能也不起作用 import torch import numba numba njit def vec add odd pos
  • 多记录更新时更新触发器多久触发一次?

    我创建了一个on update扳机 如果我在一条语句中更新表中的 5 条记录 触发器将执行多少次 如果我有多个语句更新单个事务中的记录 它会改变吗 是执行 5 次 还是在所有事务完成后只执行一次 这完全取决于您使用的触发器类型 行级触发器将
  • 通过 MSMQ 解耦 Web 层和数据库层是必要的还是过度的?

    我正在组装一个简单的 asp net Web 控件 作为 ajax 表单发布的结果 将一条记录插入到 MSQL 数据库中 包含此控件的页面可能会在很短的时间内收到数千次点击 我担心打开数据库连接 插入记录然后关闭每个请求的连接的性能问题 我
  • 从系统获取注销事件

    我正在做一个应用程序 用于在用户注销时清除临时文件 历史记录等 那么我如何知道系统是否要注销 在 C 中 有一个房产位于环境告诉关闭过程是否已开始的类 Environment HasShutDownStarted 但经过一番谷歌搜索后 我发
  • 模拟框架如何工作?

    如果我要编写一个模拟库 它将如何工作 换句话说 它们如何工作 我想知道的一件事是 您总是设置期望 因此实际上您需要将期望与该方法在运行时执行的操作进行比较 因此我假设需要反射 在运行时解析类型 另外 当使用术语 模拟对象 时 该对象是被删除
  • 如何将键映射到数据框列的多个值?

    我有一个 df 列 如下所示 col1 Non Profit Other 501c3 501c3 Sole Proprietor 如何创建字典对象或映射层 对所有建议开放 如果它匹配条件并更改键值 我可以在其中传递任何值 例如 如果该值为O
  • asp.net MVC - ValidationSummary 不显示

    我有一个奇怪的问题 即未显示 ValidationSummary 但是 正在显示 ValidationMessage 我检查了输出页面源代码 它们的颜色并没有遮挡它们 我用的是RC 有任何想法吗 编辑 在 ValidationSummary
  • [Pandas]如何获取每组中前n%的记录

    这是我的数据框 df pd DataFrame 1 A 40 2 A 60 3 A 47 4 B 33 5 B 69 6 B 22 7 B 90 8 C 31 9 C 78 10 C 12 11 C 89 12 C 88 13 C 99 c
  • 将当前日期增加 5 天

    date date Y m d current time timestamp 0 我该如何改变 date to date 5 days PHP 版本是 5 2 此代码不起作用 date cur date Y m d current time
  • 为什么 std::apply 使用通用函数会失败?

    取自参考参数 为什么调用std apply add generic 编译失败 有办法解决吗 include
  • 如何正确卸载 C++ Shell 扩展 DLL

    I have shell 扩展 dll用 C 和 COM 编写 dll 被注册并加载到内存中 我的升级设置程序将执行以下操作 注销shell扩展dll 杀死explorer exe 复制更高版本的 shell 扩展 dll 步骤 2 启动e
  • 如何设置默认 Elixir 混合任务

    如果我有一个mix exs文件类似 defmodule Mix Tasks My task do use Mix Task shortdoc Perform my task def run do IO puts Working end en
  • Android:检测导航栏可见性

    如何检测导航栏的存在并将其隐藏 In my onCreate I call hideNavigationBar 方法来隐藏导航栏 然后我注册一个侦听器 以便在用户触摸屏幕上的任何位置时每次导航栏变得可见时隐藏导航栏 如文档 当导航栏在触摸事
  • javascript排序函数排序错误[重复]

    这个问题在这里已经有答案了 你好 我有一个文本框 其值如下