📌  相关文章
📜  如何在 JavaScript 中对集合进行排序?

📅  最后修改于: 2022-05-13 01:56:12.196000             🧑  作者: Mango

如何在 JavaScript 中对集合进行排序?

JavaScript 中的Set是一种特殊的对象,用于存储不同的元素。该集合既可以存储原始数据,也可以存储对象。迭代 set 对象时,它以与插入相同的顺序返回元素。

在本文中,我们将看到如何根据元素的值对 Set 进行排序。实现目标的一种方法是使用内置的 sort()函数。但是, sort()函数不能直接在集合上实现,而是:

  • 我们将使用存储在集合中的元素生成一个数组容器。
  • 然后,我们将对数组执行 sort()函数。
  • 我们将清除整个集合并将存储的元素存储在新排序的数组中。

由于集合以与插入相同的顺序返回元素,因此现在将对整个集合进行排序。

需要注意的一点是,在本文中,我们将按升序对集合进行排序,但排序顺序可以通过实现排序逻辑根据需要进行调整。现在我们将研究不同的方法来生成数组以实现我们的目的。

方法 1. 手动迭代集合:在这种方法中,我们将手动迭代集合并将集合的元素插入到一个新数组中,该数组将根据我们的需要进行排序。

句法:

# myset is the set under consideration for this article
let myarr = [];
    for (let element of myset) {

        // Set elements pushed into the array
        myarr.push(element);
    }
# myArray consists of the elements of the set
myArray.sort()

例子:

JavaScript


JavaScript


输出:

Set(4) { 3, 2, 9, 6 }
[ 3, 2, 9, 6 ]
Set(4) { 2, 3, 6, 9 }

方法 2. 使用 Array.from() 方法:生成数组的一种方法是使用内置的 Array.from() 方法,该方法将从集合的元素中创建一个数组。要了解有关该方法的更多信息,请点击此链接。

句法:

# myset is the set under consideration for this article
myArray = Array.from(myset)
myArray.sort()

例子:

JavaScript


输出:

Set(4) { 3, 2, 9, 6 }
[ 3, 2, 9, 6 ]
Set(4) { 2, 3, 6, 9 }