我正在尝试从const skipHeaders = [ 'layout', 'modules', 'enabled', 'captcha', 'settings'];
删除 submissionsInForm.map((submission) => {
const updatedSubmission = submission.deleteAll(skipHeaders);
return updatedSubmission;
});
数组中列出的键。
findByReportingManager_IdAndAndLevel(Long reporterManagerId, Integer level)
select userhierar0_.id as id1_28_,
userhierar0_.LEVEL as LEVEL5_28_,
userhierar0_.REPORTING_MANAGER_ID as REPORTIN9_28_,
userhierar0_.USER_ID as USER_ID10_28_
from USER_HIERARCHY userhierar0_
left outer join
USER_V3 user1_ on userhierar0_.REPORTING_MANAGER_ID=user1_.id
where user1_.id=? and userhierar0_.CUSTOMER_ID=? and userhierar0_.LEVEL=?
该代码似乎不起作用,因为它返回完整的数据。无论如何要实现这一目标而不必转换为Vanilla JS?
答案 0 :(得分:1)
<强>黑名单强>
您可以使用Map#filter删除密钥出现在黑名单中的所有键/值对
// where Map is Immutable.Map
const m = Map({a: 1, b: 2, c: 3, d: 4})
const blacklist = ['a', 'b']
m.filter((v,k) => !blacklist.includes(k))
// => {"c": 3, "d": 4}
<强>白名单强>
您的对象名为submissionsInForm
,因此我猜这些是用户提供的值。在这种情况下,我认为白名单你的字段要比我们上面的黑名单更好
请注意,这次我们会在输入m
中添加更多字段,但我们的结果将是相同的,无需更改白名单。当您想明确声明用户可以提交哪些字段时,这很好 - 所有其他字段都将被拒绝。
const m = Map({a: 1, b: 2, c: 3, d: 4, admin: 1, superuser: true})
const whitelist = ['c', 'd']
m.filter((v,k) => whitelist.includes(k))
// => {"c": 3, "d": 4}