Reactjs ImmutableJS映射,如何迭代映射并返回修改后的结果

Reactjs ImmutableJS映射,如何迭代映射并返回修改后的结果,reactjs,immutable.js,Reactjs,Immutable.js,我正在尝试从SubmissionsForm中删除skipheaders数组中列出的密钥 const skipHeaders=[“布局”、“模块”、“已启用”、“验证码”、“设置”] 该代码似乎不起作用,因为它正在返回完整的数据。有没有办法在不转换为Vanilla JS的情况下实现这一点?黑名单 您可以使用删除键出现在黑名单中的任何键/值对 //其中Map是不可变的 常数m=Map{a:1,b:2,c:3,d:4} 常量黑名单=['a','b'] m、 filterv,k=>!黑名单 //=>{c

我正在尝试从SubmissionsForm中删除skipheaders数组中列出的密钥

const skipHeaders=[“布局”、“模块”、“已启用”、“验证码”、“设置”]

该代码似乎不起作用,因为它正在返回完整的数据。有没有办法在不转换为Vanilla JS的情况下实现这一点?

黑名单

您可以使用删除键出现在黑名单中的任何键/值对

//其中Map是不可变的 常数m=Map{a:1,b:2,c:3,d:4} 常量黑名单=['a','b'] m、 filterv,k=>!黑名单 //=>{c:3,d:4} 白名单

您的对象称为submissionsInForm,所以我猜这些是用户提供的值。在这种情况下,我认为最好将您的字段列入白名单,而不是像上面那样列入黑名单

注意,这次我们将向输入m添加更多字段,但结果将是相同的,无需更改白名单。当您想要明确声明用户可以提交哪些字段时,这是很好的–所有其他字段都将被拒绝

const m=Map{a:1,b:2,c:3,d:4,admin:1,superuser:true} 常量白名单=['c','d'] m、 filterv,k=>whitelist.includesk //=>{c:3,d:4}
感谢您的精彩解决方案以及详细的解释和建议。非常感谢:
  submissionsInForm.map((submission) => {
    const updatedSubmission = submission.deleteAll(skipHeaders);
    return updatedSubmission;
  });