配列値と等しいオブジェクトを削除する操作
<p>オブジェクト配列と通常の配列があり、オブジェクト配列の項目が通常の配列の項目と等しい場合、それを削除したいと考えています。これは私にとって混乱を招きます。 </p>
<p>これまでに試したことは次のとおりです: </p>
<p>
<pre class="snippet-code-js lang-js prettyprint-override"><code>var 国 =
[
{ChoicesID: 1, ChoicesName : 'アフガニスタン'},
{ChoicesID: 2, ChoicesName : 'アルバニア'},
{ChoicesID: 3, ChoicesName : 'アルジェリア'},
{ChoicesID: 4, ChoicesName : 'アンゴラ'},
{ChoicesID: 5, ChoicesName : 'アルゼンチン'},
{ChoicesID: 6, ChoicesName : 'アルメニア'}
];
var 答え = ['アフガニスタン','アルバニア','アルジェリア'];
var ChoicesName = new Set(countries.map(d => d.ChoicesName));
var NewCountries = [...ChoicesName, ...answer.filter(d => !ChoicesName.has(countries.find(o => o.ChoicesName === 回答)))];
console.log(NewCountries );</code></pre>
</p>
<p>予想される出力は次のようになります: </p>
<pre class="brush:php;toolbar:false;">var NewCountries =
[
{ChoicesID: 4, ChoicesName : 'アンゴラ'},
{ChoicesID: 5, ChoicesName : 'アルゼンチン'},
{ChoicesID: 6, ChoicesName : 'アルメニア'}
];</pre></p>