问题标签 [es6-map]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
71 浏览

javascript - 如何以角度消除数组中的重复对象

我正在尝试过滤重复值并将唯一值作为对象数组获取。我不知道如何根据颜色获得唯一值。所以下面是我的数据:

期望值为:

下面的代码仅返回对象的变量数组。但我希望作为我上面提到的预期结果

有人可以帮我解决这个问题吗?

0 投票
1 回答
100 浏览

javascript - 在 JavaScript 中使用列表作为键的最佳方式是什么?

假设我们在 JS 中有一张地图,如下所示。

由于比较,这阻止了我们动态检查映射中的键===。我能想到的一种方法是将其转换为类似字符串"Jack, Mathematics",然后将其用作键。但这看起来并不完美。

表示列表键的最佳方法是什么?最好的方式,我的意思是我们保留键的列表结构的方式。假设我们正在将列表转换["adog", "isananimal"]为字符串"adog,isananimal",并且还有另一个列表["adog,isananimal"]转换为相同的字符串"adog,isananimal",这会在检索值时造成混淆。

0 投票
0 回答
37 浏览

javascript - Angular - 让服务返回 ES6 地图

我正在为 HTTP 服务中的 ES6 地图数据类型而苦苦挣扎。

在我的服务中,我返回一个包含地图的 Observable:

但是,当我尝试处理组件中的响应数据时:

我收到如下错误消息:

布局不可迭代

布局没有属性“get”

所以它似乎layout不是一个有效的地图,那么我将如何http.post<Map<number, [number, number]>>()实际返回一个可以迭代或使用的地图对象get()

0 投票
2 回答
105 浏览

javascript - 当某些条目键是整数时,我可以保留 javascript 对象条目的顺序吗?

我正在处理一个object我需要保留 的顺序的地方entries,即使有些keys是字母数字而另一些是整数。(是的,我知道。)

我开始的对象如下所示:

操作后,对象应如下所示:

但。因为javascript 对象中的迭代顺序插入顺序不同(首先迭代整数),所以如果我直接进行此操作,我将不会得到正确排序的结果:

我试图通过构建一个Map(与 不同object,保留进入顺序)来解决这个问题,然后我可以将其转换为object.

资料来源:(我改编了 Luke Horvat 的这个要点:Convert ES6 Map to Object Literal。)

你能猜到会发生什么吗?

有什么方法可以使用基于整数的keys类似0并且仍然以自定义顺序1保留条目?object

还是我需要考虑其他方法?

0 投票
0 回答
30 浏览

javascript - 类型错误 - 使用 .map 时 .push 不是函数

我的代码库中有这个功能,

我正在抛出以下内容,

TypeError: (intermediate value)(intermediate value).push 不是函数

在线上,${siteMapContent.map((siteMapItem) => html

我不清楚这个错误是什么意思,因为语法对我来说很好。

0 投票
1 回答
37 浏览

javascript - 在 Map 上使用 Object.create(null) 有什么好处吗?

我见过人们使用的代码看起来像

STUFF_MAP希望建议只像地图一样使用,所以我理解为什么使用Object.create(null){}(删除可能导致冲突的属性等)更好,但是不只是使用有什么好处

我什么时候使用每一个?它与被编译到 es6 之前有关系吗?

0 投票
1 回答
28 浏览

javascript - 带有自定义对象的 TypeScript 中的 HashMap

介绍

我目前在项目中工作,我需要保存每个用户的分数。为此,我用 aMap<User, number>来表示它。

有问题的

如果我使用名为 john 的用户创建地图:

如果我想将 John Hasherman 的分数设置为 1(自愿使用新实例而不是以前使用的实例),请使用以下代码:

但是 TypeScript 在 myMap 中创建了一个新元素。

问题

所以我的问题是,你知道是否可以自定义地图内使用的比较器?像 Java 一样定义hashCode()and equals(o Object)?