在 JavaScript 中反转 ES6 Map 的顺序

JavaScript 中要反转 Map 对象的顺序:

  1. 使用 Array.from() 方法将 Map 转换为数组。
  2. 调用 reverse() 方法来反转数组。
  3. 将结果传递给 Map() 构造函数。
  4. 新 Map 将包含相反顺序的元素。
const map1 = new Map([
  ['one', 1],
  ['two', 2],
]);

const reversed = new Map(Array.from(map1).reverse());
console.log(reversed); // 👉️ {'two' => 2, 'one' => 1}

第一步是使用 Array.from 方法将 Map 转换为键值对数组。

const map1 = new Map([
  ['one', 1],
  ['two', 2],
]);

const arr = Array.from(map1);
console.log(arr); // 👉️ [['one', 1], ['two', 2]]

每个子数组中的第一个元素是键,第二个元素是值。

下一步是使用 Array.reverse 方法来反转数组。

const map1 = new Map([
  ['one', 1],
  ['two', 2],
]);

const arr = Array.from(map1);
console.log(arr.reverse()); // 👉️ [['two', 2], ['one', 1] ]

最后一步是将反转数组作为参数传递给 Map() 构造函数。

新 Map 将以相反的顺序包含原始 Map 的元素。

将 Map 转换为数组的另一种方法是使用扩展语法 …。

const map1 = new Map([
  ['one', 1],
  ['two', 2],
]);

const reversed = new Map([...map1].reverse());
console.log(reversed); // 👉️ {'two' => 2, 'one' => 1}

这实现了与 Array.from 方法相同的目标。