迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

在 JavaScript 中反转 ES6 Map 的顺序

作者:迹忆客 最近更新:2022/11/15 浏览次数:

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 将以相反的顺序包含原始 Map 的元素。

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

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

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

注意 :我们使用扩展语法 ... 将 Map 的键值对解包到一个数组中。

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

在一些罕见的情况下,扩展语法 ... 方法不能很好地与 TypeScript 配合使用。 如果遇到这些,请改用 Array.from

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便