typescript - 在 TypeScript 中迭代 immutablejs 映射值
问题描述
我想用循环迭代 immutable.js Map 的值for
,因为这是 TypeScript 中的首选方式,尤其是使用迭代器协议。我正在寻找类似的东西
const map = Map<string, number>();
for (const num of map.values()) {
...
}
但是,map.values()
“不是数组,没有字符串,也没有 Symbol.iterator 方法”。
解决方案
使用valueSeq()方法而不是values()来迭代 Map。
您可以使用forEach或for如下
const map1 = Immutable.Map({
abc: 9999,
def: 1111,
ghi: 4444,
jkl: 23
});
map1.valueSeq().forEach(v => console.log(v));
for (const num of map1.valueSeq()) {
console.log('num ', num)
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/immutable/3.8.2/immutable.js"></script>
推荐阅读
- ruby-on-rails - Rails redirect_to @service 在非开发环境中重定向到本地主机
- python - 在python中计算倾向函数
- java - 如何覆盖 TreeMap 的比较器
- svelte - Svelte:网格布局中翻转动画的外过渡从左上角位置而不是项目位置飞离
- javascript - 如何在所有其他请求之前加载服务人员?
- unity3d - 如何在 Unity3D 中对多个精灵的渲染应用着色器?
- django - CASCADE 究竟是如何与 Django 中的多对多字段一起工作的
- python - 如何在 MPLFinance 图上设置 ylim 和其他图形参数
- cassandra - 在 Cassandra 中过滤主键
- r - 在R中的url中读取数据