Javascript 如何从.map()JS创建不可变映射
所以我有一个这样的函数Javascript 如何从.map()JS创建不可变映射,javascript,immutable.js,Javascript,Immutable.js,所以我有一个这样的函数 myNewMap = oldMap.map((check) => { if (check.get('_id') === against.get('_id')) return check; }); 唯一的问题是myNewMap与oldMap的大小相同(这很有意义),但是有没有办法阻止这种情况,或者我需要一种不同的方法?我想您需要过滤器 myNewMap = oldMap.filter((check) => { return check.get(
myNewMap = oldMap.map((check) => {
if (check.get('_id') === against.get('_id')) return check;
});
唯一的问题是myNewMap与oldMap的大小相同(这很有意义),但是有没有办法阻止这种情况,或者我需要一种不同的方法?我想您需要
过滤器
myNewMap = oldMap.filter((check) => {
return check.get('_id') === against.get('_id');
});
甚至更短:
myNewMap = oldMap.filter(check => check.get('_id') === against.get('_id'));
这将返回一个新的
映射
,其中只包含满足谓词的值。映射完数组后,可以执行以下操作
Object.seal( yourMappedArrayObject );
这将使该对象不可变
你试过过滤它吗?我想他不是这么问的。