私は2つのオブジェクトの配列を持っています。各コレクションオブジェクトには、同様のプロパティが含まれています。私は特定のプロパティに基づいて2つのコレクションを一緒に圧縮しようとしています。ただし、いずれかの配列内の特定のオブジェクトが、必ずしも他の配列内の一致するプロパティ値を持つオブジェクトを持つとは限りません。このような場合、null値が必要です。ここで私がやりたいものの例です:JavaScriptで可能なヌル値を持つ2つのコレクションを圧縮する(利用可能なロダッシュ)
var arr1 = [
{ id: '1', text: 'arr1 - one' },
{ id: '2', text: 'arr1 - two' },
{ id: '3', text: 'arr1 - three' }
];
var arr2 = [
{ id: '1', text: 'arr2 - one' },
{ id: '2', text: 'arr2 - two' },
{ id: '4', text: 'arr2 - four' }
];
結果:
{
'1': [
{ id: '1', text: 'arr1 - one' },
{ id: '1', text: 'arr2 - one' }
]
'2': [
{ id: '2', text: 'arr1 - two' },
{ id: '2', text: 'arr2 - two' }
],
'3': [
{ id: '3', text: 'arr1 - three' },
null
],
'4': [
null,
{ id: '4', text: 'arr2 - four' }
]
そのライブラリを使用しての答えは歓迎されているので、私はすでに、プロジェクトにlodash 4依存性を持っています。
の重要な結果の順序ですか? – Ben
はい、いいえ。これがキーで使用される最終的な場所はソートされる必要があります。しかし、それらがランダムであれば、Object.keys()を使用して結果をソートし、ソートされた配列を使用して正しい順序で情報を取得することで、簡単に回避できます。 – jhummel
最小ブラウザ/ノード? – Ben