当前位置: 首页 > 知识库问答 >
问题:

如何将贴图键转换为数组?

周马鲁
2023-03-14

假设我有以下地图:

let myMap = new Map().set('a', 1).set('b', 2);

我想根据以上内容获得['a','b']。我目前的解决方案似乎太长太可怕了。

let myMap = new Map().set('a', 1).set('b', 2);
let keys = [];
for (let key of myMap)
  keys.push(key);
console.log(keys);

一定有更好的办法,不是吗?

共有3个答案

亢仰岳
2023-03-14

我需要一些类似于角反应形式的东西:

let myMap = new Map().set(0, {status: 'VALID'}).set(1, {status: 'INVALID'});
let mapToArray = Array.from(myMap.values());
let isValid = mapToArray.every(x => x.status === 'VALID');
徐隐水
2023-03-14

可以使用“排列”操作符转换贴图。数组中的keys()迭代器。

let myMap = new Map().set('a', 1).set('b', 2).set(983, true)
let keys = [...myMap.keys()]
console.log(keys)
慕弘深
2023-03-14

Map.keys()返回一个MapIterator对象,该对象可以使用Array.from转换为Array

let keys = Array.from( myMap.keys() );
// ["a", "b"]

编辑:还可以使用扩展语法将iterable对象转换为数组

let keys =[ ...myMap.keys() ];
// ["a", "b"]
 类似资料:
  • 有没有更好的方法来转换贴图

  • 参考[Stackoverflow]Scala:将map转换为case类我尝试复制其中一个响应,我看到以下错误: <代码>无法构造com的实例。实践斯卡拉。Test“(不存在任何创建者,如默认构造):无法从[源:未知;行:-1,列:-1]处的对象值(无委托或基于属性的创建者)反序列化 代码: 这个错误说明了什么?我错过了什么吗?

  • 我在Firebase中有以下数据: 在Flutter中,我有以下两个对象: 我正在尝试将Firebase中的集合嵌套贴图转换为Flatter中的列表,但遇到了问题。在Flatter中将具有贴图字段的贴图对象转换为列表的最佳方法是什么? 我知道我在处理map对象时遇到了问题,根据我的方法,我收到了不同的错误,但通常类似于以下情况之一: 错误1:“键入“\u InternalLinkedHashMap

  • 问题内容: 我有一个RGB图像。我想将其转换为numpy数组。我做了以下 它创建一个没有形状的数组。我假设它是一个iplimage对象。 问题答案: 您可以使用较新的OpenCV python接口(如果我没记错的话,自Ope​​nCV 2.2起就可以使用)。它本机使用numpy数组: 结果:

  • 问题内容: 使用Javascript,我正在对WCF服务进行AJAX调用,并且正在返回字节数组。如何将其转换为图像并显示在网页上? 问题答案: 我意识到这是一个旧线程,但是我设法通过Web服务上的AJAX调用做到了这一点,并认为我愿意分享… 我的页面中已经有图像: AJAX: 我的“ GetItemPreview”代码查询一个SQL Server,其中我将图像存储为base64字符串,并将该字段作

  • 问题内容: 我正在尝试使用以下代码将Icon()转换为Image(): 问题是,函数在上抛出。 对于记录,该值为默认图标(通过获取) 以下是引发异常的详细信息: 如果您需要更多详细信息,请告诉我,我将编辑我的信息以添加它们。 谢谢! 问题答案: 刚刚找到了一个代码段,如果您想更频繁地包装那些表现不佳的LAF提供的图标,可能会有所帮助: 要在您的代码段中使用,只需传递任意组件: