私は2種類のコレクションを持っています:
fieldMappingViewModel.MappedFields():
[
{ "EmailField" : "FirstName", "CrmField" : "FirstName" },
{ "EmailField" : "LastName", "CrmField" : "LastName" },
{ "EmailField" : "Job", "CrmField" : "JobTitle" }...
]
_全て:
[
{ "EmailField" : "FirstName", "CrmField" : null },
{ "EmailField" : "LastName", "CrmField" : "LastName" },
{ "EmailField" : "Job", "CrmField" : "JobTitle" }...
]
以下を使用して、これら2つの一意の結合を作成しようとしています:
fieldMappingViewModel.allMappings(_.uniq(_.union(fieldMappingViewModel.MappedFields(), _all),
function (item, key) {
// not the ones that their item.EmailField() already exists with a CrmField value
}));
もちろん、Email フィールドが繰り返されているが CrmField が異なる結果オブジェクトには厳密な等価性が残っています。
最終結果から CrmField: Null を削除するにはどうすればよいですか? (null以外のペアが存在するnullのもののみをフィルタリングしたい。それ以外の場合は、nullを含むペアを保持したい)
だから私はで終わらない
{ "EmailField" : "FirstName", "CrmField" : "FirstName" }
と
{ "EmailField" : "FirstName", "CrmField" : null }
どちらも最終結果に。だけ:
{ "EmailField" : "FirstName", "CrmField" : "FirstName" }