如何按升序对奇数数组进行排序,但将偶数保留在其位置?

2023-12-15

我只想对奇数进行排序而不移动偶数。例如,当我写:

sortArray([5, 3, 2, 8, 1, 4])

预期结果是:

[1, 3, 2, 8, 5, 4]

我是 JavaScript 新手,在互联网上遇到了一个令我困惑的挑战。我通常不会在互联网上发布请求解决方案,但我已经尝试了几个小时,我想在 JavaScript 中学习这个概念。

挑战指出:

你有一个数字数组。 您的任务是按升序对奇数进行排序,但偶数必须在其位置上。 零不是奇数,你不需要移动它。如果有空数组,则需要返回它。

到目前为止,这是我的代码,请放轻松,我正处于编程的初级阶段。

function sortArray(array) {
  let oddNums = [];
  for(let i = 0; i < array.length; i++) {
    if(array[i] % 2 !== 0) {
      oddNums.push(array[i]);
    }
  }
  oddNums = oddNums.sort((a,b)=> a-b);
  array.concat(oddNums);
  array = array.sort((a,b) => a-b);
  return array;
}

您可以为奇数索引采用一个辅助数组,为奇数数字采用另一个辅助数组,对它们进行排序并将它们应用回原始数组先前存储的索引。

var array = [5, 3, 2, 8, 1, 4],
    indices = [];

array
    .filter((v, i) => v % 2 && indices.push(i))
    .sort((a, b) => a - b)
    .forEach((v, i) => array[indices[i]] = v);

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

如何按升序对奇数数组进行排序,但将偶数保留在其位置? 的相关文章

  • 如何将 Django 中的数组传递给模板并在 JavaScript 中使用它

    我想将数组传递给模板 然后通过 JavaScript 使用它 In my views py I have arry1 Str 500 20 return render to response test html array1 arry1 在
  • 如何使用 JavaScript 选择预节点/块中的文本?

    我了解不允许 JS 将任意文本复制到剪贴板背后的安全原因 但是是否有一种方法可以通过单击按钮来选择预节点中的文本 类似于 select 函数在输入中的工作方式 我不是在寻找复制到剪贴板的 jQuery 插件 我只想突出显示预块中的文本 以便
  • 如何在清除排序描述后删除wpf网格排序箭头

    我单击网格标题对列进行排序 然后单击 重置 按钮以通过其集合视图清除排序描述 但排序箭头图标仍然保留在标题中 如何去除它 我在尝试弄清楚如何完全清除网格中的排序时遇到了这个问题 感谢 krishnaaditya 回答如何清除标题中的排序箭头
  • 如何在php中使用一张图像绘制形状

    我需要使用图像的一部分来创建帧图像 例如 用户将从后端上传图像片段 现在我需要根据前端用户的要求在前端创建一个框架 用户将选择框架的高度和宽度 然后他将选择该图像片段 如下所示 我没有办法做到这一点 我尝试通过 css 和 html can
  • 如何使用 jQuery Ajax 将 PHP 数组值传递到另一个文件?

    这是我的代码
  • 游戏手柄 JavaScript 未能按预期更新

    我正在尝试让浏览器报告我的 XBOX 控制器的状态 然而 在第一次按下按钮后 它似乎变得 卡住 我究竟做错了什么
  • html canvas动画卡顿

    谁能解释为什么提供的画布动画断断续续 我创建了一个测试存根来演示该问题 我在桌面上的 FF Chrome IE 以及 Android 上的 FF 和 Chrome 中看到了卡顿现象 口吃是由于垃圾收集造成的吗 似乎 raf 在每次调用时都会
  • setInterval() 在用户离开选项卡时暂停?

    javascript 中是否有任何方法的行为类似于 setInterval 并且当用户离开选项卡时停止并在用户再次进入选项卡时恢复 您可以使用以下方法创建自己的 API可见性API https developer mozilla org e
  • 带有 mkdocs 的本地 mathjax

    我想在无法访问互联网的计算机上使用 MathJax 和 Mkdocs 因此我不能只调用 Mathjax CDN Config mkdocs yml site name My Docs extra javascript javascripts
  • 如何知道浏览器空闲时间?

    如何跟踪浏览器空闲时间 我用的是IE8 我没有使用任何会话管理 也不想在服务器端处理它 这是纯 JavaScript 方法来跟踪空闲时间 并在达到一定限制时执行一些操作 var IDLE TIMEOUT 60 seconds var idl
  • 将 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 获取元素的填充值?

    我有一个textarea在我的 HTML 中 我需要获取整数或浮点形式的填充数值 以像素为单位 我如何使用 JavaScript 获取它 我没有使用 jQuery 所以我正在寻找纯 JavaScript 解决方案 这将返回padding l
  • JavaScript 中的实时摩尔斯电码转换器

    在看到谷歌关于莫尔斯电码 gmail 的愚人节笑话后 我想我应该尝试用 javascript 创建一个实时莫尔斯电码转换器 我正在使用正则表达式和替换将莫尔斯电码更改为字符 例如 replace g a replace g r 我遇到的问题
  • Django 将 JSON 数据传递给静态 getJSON/Javascript

    我正在尝试从 models py 中获取数据并将其序列化为views py 中的 JSON 对象 模型 py class Platform models Model platformtype models CharField max len
  • 如何为 Imagus 悬停缩放扩展开发自定义过滤器?

    当我读到关于悬停缩放是邪恶的 http www reddit com r YouShouldKnow comments 1wjrc8 ysk that the hover zoom extension is spyware 哎呀 有两篇文章
  • 如何:带有 onclick 的 div 位于另一个带有 onclick 的 div 中

    只是一个简单的问题 我遇到了 div 与 onclick javascript 之间的问题 当我点击内部 div 时 它应该只触发它的 onclick javascript 但外部 div 的 javascript 也会被触发 用户如何点击
  • PHP条件,如果当前页面,则链接突出显示[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有一个带
  • D3 将现有 SVG 字符串(或元素)追加(插入)到 DIV

    我到处寻找这个问题的答案 并找到了一些我认为可能有用的资源 但最终没有让我找到答案 这里有一些 外部SVG http bl ocks org mbostock 1014829 嵌入SVG https stackoverflow com qu
  • JQuery 删除和内存泄漏

    我正在开发一个游戏 我看到了很多内存消耗 我使用jquery animate 动画完成后 我 remove 元素 我的问题是 从 dom 树中删除一个元素后 对象还存在记忆中吗 Javascript 是一种垃圾收集语言 这意味着当没有代码保

随机推荐

  • rollapply 中的对齐和偏移

    我正在尝试计算移动窗口的一些统计数据 并在动物园包中使用 rollapply 我的问题是如何让 rollapply 将该函数应用于前 n 个观察值 而不是当前观察值和前 n 1 个观察值 就像align right 似乎所做的那样 requ
  • 具有来自多列数据帧的值计数的单列

    我想用 pandas 对多列的频率进行求和 列的数量可以在 2 15 列之间变化 以下是仅 3 列的示例 code1 code2 code3 27 5 56 534 27 78 27 312 55 89 312 27 我希望得到以下结果 c
  • C++0x 中未调用移动构造函数

    请在下面找到我的代码 我曾经调用移动构造函数 代码受其他站点启发 并让我知道它有什么问题 我正在使用 GCC 4 5 3 include
  • 递归字符串反转函数

    出于好奇编写了一个递归字符串反转函数 但是那里的 XOR 有点问题 这个函数的重点是不使用迭代器 这就是它是递归函数的原因 这不是作业 只是好奇心 private static char ReverseNL char arr int ind
  • IOError:[Errno 24]打开的文件太多:

    我有一个巨大的文件 我正在将其写入大约 450 个文件 我收到错误为too many files open 我在网上搜索并找到了一些解决方案 但没有帮助 import resource resource setrlimit resource
  • 在 ie8 及以下版本上使用 twitter bootstrap 的 Respond.js

    我正在使用 twitter bootstrap 实现一个响应式网站 但在 iexplorer 8 及更低版本上无法使用媒体查询 我为 try respond js 创建了一个简单的示例 但媒体查询在 iexplorer 7 8 上仍然无法工
  • libvirtError:XML 错误:预期单播 mac 地址,发现多播

    我正在通过 ansible 设置 KVM 自动化 并且我有一个虚拟机一直给我这个错误 libvirtError XML 错误 预期的单播 mac 地址 发现多播 53 54 00 b4 ad 81 我不认为这是一个可靠的问题 因为其他几个虚
  • 图像尺寸突然缩小

    我只是复制图像并将其保存到当前目录中的另一个临时文件夹中 没有任何修改 但图像大小以某种方式减小了 为什么 from PIL import Image import os image path Users moomoochen Deskto
  • 两个数相除总是等于零?

    在我的 Xna 游戏中 我试图将我的游戏场缩放到它运行的屏幕上 为此 我使用比例来查找实际窗口相对于我的游戏区域缩放的百分比 为此 我将实际宽度除以虚拟宽度 float percent realViewport Width this vie
  • 如何从joomla模块中的ajax获取数据库值?

    我正在创建一个模块 我想从 ajax 获取数据库值 任何人有这个问题的解决方案或任何例子请帮助我 谁能给我一个正确的方法来解决这个问题 这是我的jquery code jQuery type bind click function var
  • 使用 std::tr1::function (或 boost::function)创建多播事件

    我正在尝试使用 TR1 的功能创建类似 C 的多播委托和事件 或者 Boost 因为 boost function 大部分 与 std tr1 function 相同 作为概念证明 我尝试了以下方法 template
  • wxPython 带有面板的框架的最小尺寸

    wxpython 2 8 11 0 python 2 7 如果我放一些Sizer一些控件直接进入Frame like import wx app wx App frm wx Frame None title title sizer wx B
  • 如何检查一个数组中的任何变量是否在另一个数组中

    我正在使用 MatLab 开发一个程序 该程序计算数字的幂 将它们加在一起 然后查看第一组数字 数字的幂 是否等于任何相加的数字的幂 我试图检查第一个数组中的每个值 但是 我得到如下输出 m 1 128 2187 16384 78125 2
  • Netsuite suitetalk 交易电子邮件,带有 pdf 附件介绍文本

    我使用 php 工具包和 netsuite 来添加带有 toBeEmailed 选项的销售订单 并且它登录的 api 用户具有首选项 交易电子邮件附件格式 gt PDF 这会将订单摘要制作为 pdf 并附加到电子邮件中并作为通知发送 我查看
  • Windows MessageBox 忽略 WM_CLOSE

    我们有一个遗留的 C Windows 应用程序 当发生致命连接错误时 它会通过 MessageBox 调用弹出一个模式窗口 我们的网络工程师可能会同时运行许多这样的应用程序 有时 网络故障会导致这些应用程序处理的连接同时失败 在 Windo
  • 从数组中删除重复项

    您好 我有一个使用此函数从 XML 文件创建的数组 LOCATIONS XML HANDLER creates array holding values of field selected from XML string xml param
  • 是否可以从 android 调用 WSHTTPBINDING?

    private static final String SOAP ACTION http tempuri org IService1 HelloTest private static final String METHOD NAME Hel
  • 如何使用 C# 禁用文本框上的复制、粘贴和删除功能

    有人可以建议如何使用 C 处理 WinForms 中文本框上的剪切 复制和粘贴事件吗 在 WinForms 中 禁用文本框上的剪切 复制和粘贴功能的最简单方法是将 ShortcutsEnabled 属性设置为 false
  • 如何在 MDX 中使用 UNION

    我想要UNION下面MDX询问 对于这两个查询 同一日期范围的度量和维度是不同的 请帮助我摆脱困境 SELECT NON EMPTY Measures Number of es2 ON COLUMNS NON EMPTY Date Year
  • 如何按升序对奇数数组进行排序,但将偶数保留在其位置?

    我只想对奇数进行排序而不移动偶数 例如 当我写 sortArray 5 3 2 8 1 4 预期结果是 1 3 2 8 5 4 我是 JavaScript 新手 在互联网上遇到了一个令我困惑的挑战 我通常不会在互联网上发布请求解决方案 但我