问题标签 [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.
angular - 当 ES6 Map 的值发生变化时,Angular 会自动更新 UI
我在下面的 stackblitz 链接中有我的完整代码,
在这里,我尝试在有人更新存储位置时更新 UI(在本例Map
中为 - 在cache.service.ts
文件中)。
- 当我单击
Get
方法时,它会从缓存中获取值并更新 UI。 - 当我单击
Set
方法时,它会更新Map
inside中的值CacheService
。
Set
当我使用 RxJs调用时,有什么方法可以自动更新 UI ?
cache.service2.ts
注意:您可以在文件中看到我的新足迹。
javascript - 在保留键的同时按值的属性对 Map 进行排序
我有一张声明为 的地图var cars = new Map<string, object>();
,其中string
是汽车的型号,其中包含 和 之类的object
信息。year
price
因此,Map
将如下所示:
我想按price
字段(asc 或 desc)对所有条目进行排序。
我想不出任何解决方案,因为迭代values
会丢失密钥,并且像我读到的解决方案...cars.entries()
不适用,因为这些值是不可迭代的。
PS 我目前正在使用 TypeScript,但 JS 的解决方案仍然应该适用。
编辑:我尝试将地图转换为数组,如下所示:
但是我在重建地图以保持keys
...</p>
javascript - ES6 Map 仅返回对象键数组
我正在尝试编写一个方法来帮助我返回所有货币的对象键数组。但是,我被困在一个点上,我得到了带有键值对的完整对象数组。
是的,我主要需要使用 ES6 方法。我不想使用任何其他迭代器。
例如:我需要什么:
我得到什么:
你能帮我实现这个吗?
这是代码:
javascript - js如何简洁实现map[index]++
有了数组,我可以使用array[index]++
但有了地图,我只知道map.set(index,map.get(index)+1)
我认为它看起来很糟糕,如果index
是一个长名称函数,我必须将它分成两行。
有没有更简洁的实现方式map[index]++
reactjs - 为什么将 props 的数组映射移到渲染函数之外在 React 中不起作用?
下面的例子工作得很好,我在渲染函数中映射了 props 数组。
但是当我将数组映射移动到另一个函数时不再起作用。
任何帮助,将不胜感激。
javascript - 在地图实例上使用地图/过滤器行为
我有这条快速路线:
在哪里
(CDTChronBase 是一个类)
以上工作,但如果可能的话,我想简化它,如下所示:
但是对于我的生活,我无法弄清楚如何获取 Map 上任何方法的 Array 实例。有没有办法在 Map 对象上使用 map/filter 类型的方法?
javascript - 清除地图有助于垃圾收集吗?
我最近注意到我的同事倾向于在取消引用之前清除所有映射,例如在函数结束时。
他对此的论点是,这是垃圾收集的好习惯,我很好奇这是真的还是过度优化的情况?
例子:
javascript - 使用 ES6 中的 map 函数更新对象的属性值
我正在尝试在 ES6 中对此进行编码。以下是我想要实现的目标。假设我有一个名为schools
.
现在,我想编写一个名为的函数,该函数editSchoolName
将接受 3 个参数schools
(这是我在上面定义的数组)oldName
和name
.
我将在参数中传递学校的名称,oldName
并且该名称应使用参数中的值进行更新name
。
我不想更改变量的状态,schools
所以我使用了一个map
函数,它将返回一个包含更改的新数组。
该editSchoolName
函数将像这样调用 -
在这里, nameYorkTown
应该替换为 name New Gen
。所以数组的期望值updatedSchools
应该是 -
这就是我的 editSchoolName 函数的样子 -
在更改editSchoolName
功能以实现上述预期结果时需要帮助。
javascript - Javascript 地图排序
我最近在我的代码中有一个错误,这是由于我在查看 MDN 上的 Map 对象详细信息时缺少“按插入顺序”文本。简而言之,我有一个地图对象,可以说
然后,在填充它之后,我用一个简单的 for .. of语句迭代它的内容。像这样
for循环中的代码取决于 (key, value) 对,按key排序。但是,填充地图的算法是以随机顺序执行的(我无法更改)。为了解决这个问题,我现在首先将所有可能的键添加到地图对象,如下所示:
幸运的是,它们并不多(因此性能损失可以忽略不计),这很有效。这个解决方案对我来说仍然有点尴尬。
有更好的吗?