【发布时间】:2020-09-03 13:47:01
【问题描述】:
我正在尝试使用数组进行练习。以下是我想要实现的示例(让我们将其保留在 5 个元素的数组中):
[3,5,8,1,3] => [3,3,8,5,1]
[1,5,2,2,5] => [5,5,2,2,1]
[7,5,5,5,5] => [5,5,5,5,7]
[1,5,7,2,3] => [7,5,3,2,1]
我的尝试:
let myArr = [5,7,5,7,5];
function sortArr (arr) {
let sortedArr = [];
let dupes = [];
for (let i = 0; i <= arr.length-2; i++) {
for (let j=i + 1; j <= arr.length-1; j++) {
if (arr[i] == arr[j]) {
if (sortedArr.some((element) => element == arr[i])) {
sortedArr.push(arr[j]);
dupes.push(j);
} else {
sortedArr.push(arr[i], arr[j])};
dupes.push(j);
}
}
}
return sortedArr;
}
【问题讨论】:
-
"...尝试用数组练习"你的代码在哪里?
-
欢迎来到 Stack Overflow!请使用tour(您将获得徽章!)并通读help center,尤其是How do I ask a good question? 您最好的选择是进行研究,search 以获取有关 SO 的相关主题,然后试一试. 如果您在进行更多研究和搜索后遇到困难并且无法摆脱困境,请发布您的尝试minimal reproducible example,并具体说明您遇到的问题。人们会很乐意提供帮助。
-
第一次通过,计算每个值的出现次数。然后按
occurances[value] > 1降序排序。 -
另外,不重复的条目应该如何排序?原始订单是否保留?当有多个重复时,应如何订购重复? (例如
[1, 2, 1, 2, 3]。)你能依赖 ES2019 的变化,要求数组上的sort是稳定的吗? -
你可以看这里(只是改变第一部分的顺序):stackoverflow.com/questions/58730313/…
标签: javascript arrays sorting filter