gpt4 book ai didi

Javascript - 不排序的排序

转载 作者:行者123 更新时间:2023-12-02 18:51:08 25 4
gpt4 key购买 nike

Javascript 问题

我之前问过这个问题Javascript 2D array sorting - by numerical value,并使用排序函数提供了一个解决方案,我尝试使用该函数但没有成功。事实证明,排序功能在我正在使用的工具中不正确,它对 5 个值进行排序,然后停止工作 - 并且无法使用负值等工作。与他们的开发团队交谈并被告知升级 - 不是一个选项。

Tl:dr - 我需要在不使用内置排序功能的情况下进行排序。

我有两个数组

values = [1000, 2356, 3456778, 7645748, -2324, 348845.45, -2345666]

labels = ["ValA", "ValB", "ValC", "ValD", "ValE", "ValF", "ValG", "ValH"]

这些需要组合起来显示[1000,ValA等],其中最大值首先出现。

如果没有内置的排序功能,我不知道如何继续。我尝试使用 Math.Max 循环遍历数组,但是当我组合这两个数组时,该函数停止工作。

我不确定是否要组合这两个单独的数组,或者将它们分开以便排序更简单,记住原始索引和标签链接。

欢迎任何想法或问题,我真的很困惑,而且不是一个开发人员,所以肯定有一些善良的人可能能够支持我。

谢谢

预期输出

[7645748, ValD]
[3456778, ValC]
[348845.45, ValF]
[2356, ValB]
[2324, ValE]
[1000, ValA]
[-2345666, ValG]

最佳答案

创建客户对象数组并使用数据进行计算

for (var i = 0; i < values.length; i++) {
myArray[i].value = values[i];
myArray[i].label = labels[i];
}

然后实现您自己的冒泡排序算法:

for (var j = 0; j < myArray.length - 1; j++) {
for (var i = 0, swapping; i < myArray.length - 1; i++) {
if (myArray[i].value > myArray[i + 1].value) {
swapping = myArray[i + 1];
myArray[i + 1] = myArray[i];
myArray[i] = swapping;
};
};
};

关于Javascript - 不排序的排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15808765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com