Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从.map()JS创建不可变映射_Javascript_Immutable.js - Fatal编程技术网

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 );
这将使该对象不可变


你试过过滤它吗?我想他不是这么问的。