问题标签 [ordered-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.
c++ - std::map 的 find 找不到,但 map 中的元素需要手动扫描
我正在使用 std::map 和一个列表来跟踪元素和相关分数的窗口化。当一个窗口已满时,我想从窗口队列中弹出一个元素并将其从地图中删除。因为可能存在重复,映射会跟踪窗口中每个元素出现的次数。我还使用了一个有序的地图,这样我就可以在给定的窗口中不断地获取最小值。
我的问题是 find() 不期望返回 end() 。当我遍历地图时,我发现元素存在。我不想牺牲使用 map 的对数复杂度。
tl; dr:std::map 表示元素不在地图中。手动扫描说是。
[编辑:Bryan Chen 的建议修复了地图。谢谢!]
immutable.js - fromJS 到带有 Immutable.js 的嵌套有序映射?
有没有人建议使用 Immutable.js 将 js 列表列表深度转换为嵌套有序映射的最佳方法?
javascript - 不可变 JS OrderedMap:在给定键之后插入新条目
我有一个不可变的 OrderedMap,如下所示:
我需要在 ["Key2":"Value2"] 之后动态插入 ["Key3":"Value3"]。
我想
将达到目的但不起作用。
我试过了
但我知道这是一个愚蠢的代码,它不起作用,因为 newPairs 是不可变的,并且 newPairs 仍然是空的。那么OrderedMap.addBefore(Key,key,value)有什么不可变的方式吗?
react-native - 合并 2 个不可变 JS 有序映射对象
我正在使用 Immutable JS 作为我的 React Native App 的 redux 商店。我有 2 个有序映射,它是列表的键控集合。当我尝试合并这 2 个有序映射时,如果键重叠,则数据将被覆盖。
例如:考虑我有 2 个以日期为键的有序地图。当我合并它们时,如果它们都有相同日期的键,则该键的数据将被替换。如何在不丢失数据的情况下连接它们?
OrderedMap1:{'21-07-2017':列表(10),'22-07-2017':列表(10),'23-07-2017':列表(10),'24-07-2017':列表(10) }
OrderedMap2: { '24-07-2017': List(5) }
当我尝试合并它们时,数据 @ key '24-07-2017' 被替换 OrderedMap1.merge(OrderedMap2) 给出 { '21-07-2017': List(10), '22-07-2017': List (10),“23-07-2017”:列表(10),“24-07-2017”:列表(5)}
我尝试过 concat()、merge() 和 mergeDeep() 方法
python - 解析 YAML,即使在有序地图中也能获取行号
我需要获取 YAML 文件的某些键的行号。
请注意,此答案不能解决问题:我确实使用ruamel.yaml,并且答案不适用于有序地图。
结果我得到了这个:
什么不允许访问行号,除了!!omap
键:
但:
确实,data['key1']['key2]
是一个str
。
我找到了一种解决方法:
输出:
但这看起来有点“脏”。有没有更合适的方法呢?
编辑:这种解决方法不仅肮脏,而且仅适用于上述简单情况,并且一旦出现嵌套列表就会给出错误结果
javascript - 如何将键值对添加为 OrderedMap 中的最后一个条目..?
可能重复: 使用 Immutable.js 在 OrderedMap 中添加项目
使用redux store和Immutable js OrderedMap。
Redux 存储结构:
减速机代码:
哪里action.item_id
是随机 ID(每个项目的密钥)。
上面的代码非常适合添加项目。
问题是:物品存放在随机位置。我需要保持我添加的顺序。需要将每个项目添加为内部的最后一个条目item
。一项一项添加的顺序不同。
帮助我找到一个明确的解决方案。
php - 为什么 Symfony 提供 OrderedHashMap
Symfony 提供了一个OrderedHashMap
. 它的文件指出
与关联数组不同,映射会跟踪添加和删除键的顺序。此顺序反映在迭代过程中。
我对这种说法感到困惑,因为我认为 PHP 关联数组实际上已经是有序映射。我在 SO 上发现了这个问题,这证实了我之前的假设:Are PHP Associative Arraysordered?
我想知道,如果 Symfony 开发人员不知道 PHP 数组已经是有序映射,或者我不了解 Symfony 的角色OrderedHashMap
c++ - 在有序地图中实现天花板/地板/较低/较高条目
我正在尝试为自定义有序地图类实现天花板/地板/较低/较高条目功能。目前我有两个语法错误:
- “>> 应该是 >> 在嵌套模板中”,我已经以这种方式对其进行了修改,但仍然出现此错误。
- “BSTIterator 没有命名类型”。
您能否告诉我如何做 ceilingEntry (它应该返回一个迭代器到具有大于或等于k的最小键值的条目,或者如果没有这样的条目或 map 为空,则返回 end() )?我试图将代码减少到最低限度,我希望它是可以理解的。
BT.h
BST.h
有序映射.h
编辑:我扩展了代码,以便可以轻松编译它。我试图最小化,但它仍然很大,因为有很多依赖项。大部分空间都被模板占用了,我希望这很好。
javascript - 不保证 JS 对象的属性顺序,进一步调查?
由于每个 JavaScript 开发人员都应该知道,不能保证对象的顺序在所有情况下都相同,因此我们被告知只要子项的顺序合理就使用(对象的)数组。
但是每次我在浏览器的 devtools 中检查一个(无序的)对象时,我都会意识到这个顺序完全符合我的预期(假设 JS 对象的行为类似于有序映射)。
属性的顺序何时或为什么会改变?
在不同的浏览器/JS解释器中?由于一些内存优化,在不同的运行时,我没有任何线索?
任何人都可以澄清,什么时候对象的属性的顺序可能会改变?
编辑:
我已阅读问题
但我找不到有关何时依赖订单不安全的信息。
c++ - 为什么我们没有用于地图的 hash 和 pred 函子?
如果我们在使用键时unordered_map
定义hash
和函子。pred
user-defined
地图的模板语法如下:
在 map 的情况下,没有hash
和pred
functors 选项。在map
. 如果发生碰撞,那么为什么我们没有像 in 中的hash
andpred
函子unordered_map
呢?我在这里错过了什么吗?