问题标签 [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.
ecmascript-6 - 如何使用过滤器和映射从数组中删除字符?
我正在尝试从数组中删除特定字符。我正在传递一个句子,应该使用 map() 和 filters() 从 alpha 数组中删除该句子中的字符,
请让我知道,我做错了什么
ecmascript-6 - es6 map 和 immutable.js map 有什么区别吗?
我是 immutable.js 的新手。immutable.js 的 map 和 ES6 的 map 有什么区别吗?如果没有区别,为什么我们需要使用 immutable.js?
不可变的.js
ES6
javascript - 当我使用括号表示法添加键/值对时,为什么 Map size 属性不更新?
根据 MDN,对象的size
属性Map
应该表示Map
对象拥有的条目数。但是,如果我创建一个空Map
并使用方括号表示法(不确定它的正式名称是什么)来添加键/值对,size
则不会更新该属性。但是,如果我使用该Map.set(key, value)
功能,则属性会更新。为什么是这样?
例子:
运行后,ex.size
返回1
.
javascript - 我如何处理我的 json 元素
这是我的 json 文件
我正在使用 react.js,我想提取所有属性
结果
我试图这样执行
使用过滤器或其他方式从json文件中提取数据是正确的方法吗?我是 react.js 和 es6,javascript.so 的新手,所以我不知道要显示每个属性。我该如何解决我的问题?pz 给我一个提示。我想提取属性
javascript - ES6 代理中的意外设置陷阱行为
我正在尝试拦截对 Map 对象的 set 和 get 操作。我绝不会尝试扩展/子类化地图。在代理所述 Map 对象的过程中,我遇到了这种奇怪的意外行为,在上面的代码中没有触发 set 陷阱,而是触发了两次 get 陷阱!
我进一步通过以下方式从 get 陷阱中记录 k(key) 值;
我期望的行为是数组在 get 陷阱[2,1]
处console.log(k)
实际输出键的值。
我想知道为什么会发生这种情况,我在这里遇到了一些与代理地图相关的问题,但没有一个能导致任何关于为什么会发生这种情况的合理推理。
我的最终目标是在设置的陷阱处触发一个事件。我是否将代理用于它应该使用的东西?如果不是,我应该采取什么方法?我是否应该放弃使用 Map 到 Object Literal,即使它会带来使用 Map 的所有缺点?例如:没有长度属性、仅字符串属性、没有强制唯一键等。
更新:我对这个代理地图的深入研究越多,我遇到的问题就越多。现在在我看来,ES6 代理 API 对待 Maps 的方式就像对待普通对象一样。维尔的回答和我的挖掘支持了这一点。我为什么这么说?阅读以下;
上面的代码理论上应该不会成功吧?就好像 Proxy 在拦截 Maps 的时候也是用同样的逻辑来拦截对象操作一样!作为;
Vill 的回答说代理标识Map.prototype.set
为第一个读取集,然后将其作为函数调用。这是否意味着在我在原始代码中编写的设置陷阱中(在最顶部)不会拦截 Map 的修改/设置属性,实际上Map.prototype.set
使用 Map- 的隐式/原生而不是Reflect.set
我们通过代理授予的?
这一切难道不是进一步强化了代理和地图不能很好地混合在一起的事实吗?我是不是走错路了?如果是这样,我有什么误解?代理是否应该像对待任何其他对象一样对待地图?
javascript - 如何使用“getOwnPropertyNames”遍历地图的内容
我在下面的代码部分发布了地图。如图所示,我向地图添加了一些值。但是当我尝试使用代码中所示的“getOwnPropertyNames”显示地图的内容时,循环中的日志语句不显示任何内容。
请让我知道如何正确使用“getOwnPropertyNames”
代码:
javascript - 问:ES6 map.keys() 在 map.delete(key) 之后
当我尝试这些代码时:
chrome 控制台将显示这些:
“b”为什么不出现?</p>
typescript - 用 T[K] 定义地图
我目前正在从 JS 过渡到 TS 并且无法完全理解keyof
。我找到了https://github.com/kimamula/TypeScript-definition-of-EventEmitter-with-keyof,现在我正在尝试实现这一点。一切都很顺利,直到我打开“noImplicitAny”。
我在 ts 操场上做了一个例子来展示我遇到的问题:
在构造函数中没有访问权限,K
所以我必须明确地制作 Map(arg: any)
才能让它工作。
创建地图时是否有避免使用任何解决方案的解决方案?
javascript - 如何在 normalizr 中为同一实体提供多个标识符?
如果您有一个规范化的 redux 存储并为实体使用 id,但还有其他额外的唯一标识符并且也需要使用它们,您会怎么做。
例子
大多数我使用id
属性来查找实体,但有时我只有uuid
属性。
有没有办法使用更高级的模式来拥有第二个映射uuid
到的字典id
,使用 es6 Map 来拥有一个由两者id
和uuid
或其他我没有想到的方式组成的键?
以下将是有用的:
最好的,法鲁克
javascript - ES6 Map:转换值
我正在做一个项目,我经常需要转换 ES6 映射中的每个值:
只是想知道是否有更好的方法来做到这一点?理想情况下是一个像Array.map()
.
加分(不是真的),如果它在打字稿中编译!