在 Javascript 中的重复项数组中按彼此顺序排序

问题描述 投票:0回答:1

我有一系列重复的项目,如下所示:

const arr = ['1', '1', '2', '2', '3', '3']

我需要像这样按彼此的顺序对其进行排序:

const arr = ['1', '2', '3', '1', '2', '3']

如何使用sort()函数解决这个问题?

我尝试过类似的方法,但没有成功:

const sorted = myDublicatedArray.sort((left, right) => left.index - right.index);
javascript arrays sorting
1个回答
1
投票

我想不出仅使用

Array.sort()
来做到这一点的方法。除非有其他要求,否则下面的方法应该适用于数字和字符串输入:

const arrayWithDuplicates = ['1', '1', '2', '2', '3', '3'];
// convert to a Set to get unique values
const uniqueValues = new Set(arrayWithDuplicates);
// sort by value
const sortedArray = Array.from(uniqueValues).sort((a, b) => a - b);
// duplicate the sorted array
const arrayOrganized = [...sortedArray].concat(sortedArray);

console.log(arrayOrganized)

© www.soinside.com 2019 - 2024. All rights reserved.