javascript - 如何从 .map() JS 创建不可变 map

标签 javascript immutable.js

所以我有这样的功能

myNewMap = oldMap.map((check) => {
     if (check.get('_id') === against.get('_id')) return check;
});

唯一的问题是 myNewMap 与 oldMap 的大小相同(这是有道理的),但有没有办法阻止这种情况,或者我是否需要不同的方法?

最佳答案

我想你想要filter

myNewMap = oldMap.filter((check) => {
   return check.get('_id') === against.get('_id');
});

或者更短:

myNewMap = oldMap.filter(check => check.get('_id') === against.get('_id'));

这将返回一个新的 Map,其中只有满足谓词的值。

关于javascript - 如何从 .map() JS 创建不可变 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35897136/

相关文章:

javascript - datepicker简单事件创建

javascript - 向 html 文本区域添加换行符

javascript - 如何使用for循环在javascript中编写和调用函数?

javascript - 如何让 setIn 在 immutable.js 中设置数字键而不是数组?

javascript - react +不可变.js : merge Map into List of Maps to update state

javascript - 让父级滚动到某个点,然后子级在父级内部滚动

javascript - 部分展开 div 以预览内容

javascript - 使用Immutable js,有没有更好的方法来更新不可变对象(immutable对象)中这个数组的值?

javascript - 即使在获取数据后,React 组件的 render 方法也会调用两次

immutable.js - ImmutableJS - 处理对象列表?