【发布时间】:2021-03-09 17:27:04
【问题描述】:
我想在不更改索引值的情况下对数组进行排序。我怎样才能做到这一点?
数组:
let data = [];
data[12] = {"apples":1, "pears":2, "oranges":3};
data[25] = {"apples":3, "pears":3, "oranges":5};
data[18] = {"apples":4, "pears":1, "oranges":6};
我试过了:
function reorder(b, a) {
return a - b;
}
但是reorder函数的输出是
data[0] = {"apples":3, "pears":3, "oranges":5};
data[1] = {"apples":4, "pears":1, "oranges":6};
data[2] = {"apples":1, "pears":2, "oranges":3};
我想实现这样的目标
data[25] = {"apples":3, "pears":3, "oranges":5};
data[18] = {"apples":4, "pears":1, "oranges":6};
data[12] = {"apples":1, "pears":2, "oranges":3};
【问题讨论】:
-
该函数正在执行预期的操作...您所期望的不是“我认为”的排序 :) 您只是在“视觉上”对数组进行排序。我仍然很想了解真正的预期结果。如果它们的新“预期”顺序很重要,为什么不使用这些旧索引作为键?
-
这似乎是XY problem。请更详细地解释您的用例以及您实际需要解决的更高级别的问题
标签: javascript jquery arrays sorting