はじめに
この実験では、JavaScriptを使って、与えられた関数に基づいて2つの配列の対称差を見つける方法を探ります。2つの配列の要素を比較し、各配列固有の値を返すために、Array.prototype.filter()
と Array.prototype.findIndex()
メソッドを使います。この実験が終わるとき、JavaScriptでこれらのメソッドを使って配列を比較および操作する方法をより深く理解しているでしょう。
This tutorial is from open-source community. Access the source code
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
この実験では、JavaScriptを使って、与えられた関数に基づいて2つの配列の対称差を見つける方法を探ります。2つの配列の要素を比較し、各配列固有の値を返すために、Array.prototype.filter()
と Array.prototype.findIndex()
メソッドを使います。この実験が終わるとき、JavaScriptでこれらのメソッドを使って配列を比較および操作する方法をより深く理解しているでしょう。
比較関数として与えられた関数を使って2つの配列の対称差を見つけるには、次の手順に従います。
node
と入力します。Array.prototype.filter()
と Array.prototype.findIndex()
メソッドを使って適切な値を見つけます。const symmetricDifferenceWith = (arr, val, comp) => [
...arr.filter((a) => val.findIndex((b) => comp(a, b)) === -1),
...val.filter((a) => arr.findIndex((b) => comp(a, b)) === -1)
];
たとえば、次の入力を考えてみましょう。
symmetricDifferenceWith(
[1, 1.2, 1.5, 3, 0],
[1.9, 3, 0, 3.9],
(a, b) => Math.round(a) === Math.round(b)
); // [1, 1.2, 3.9]
上記のコードは、2つの配列の対称差として [1, 1.2, 3.9]
を返します。
おめでとうございます!関数に基づく配列の対称差の実験を完了しました。スキルを向上させるために、LabExでさらに実験を練習できます。