私は現時点でfreecodecampでコーディングすることを学んでおり、タスクを完了することを任されています。ここにあります。複数の配列に含まれる要素を複数回フィルタリングする方法はありますか?
2つ以上の配列を取り、指定された配列の対称差(△または⊕)の配列を戻す関数を作成します。二組の数学的な用語 "対称差は" 要素の集合であり、2つの(例セットA = {1、2、3}とB =集合{2、3、4})のセット、 考える
これらは2つのセットのいずれかにありますが、両方ではありません(A△B = C = {1,4})。あなたが取る追加の対称差(例えば、D = {2,3}のセットでは )の場合は、両方のセットのどちらかに の要素を持つセットを取得する必要があります(C△D = {1、 4}△{2,3} = {1,2,3,4})。
私が試みたのは、引数オブジェクトのすべての要素を連結することでした。私はネイティブフィルタメソッドを使用して、複数回発生した配列内の要素をフィルタリングしようとしています。ここでは私が今試したことがあります。
function sym() {
let args = Array.prototype.slice.call(arguments);
return args.reduce((prev,current) => prev.concat(current),[]) //concat all arguments
.filter((element, index, array) => array.indexOf(element) !== index);
}
誰かが見て助けてくれますか?大変感謝しています!
どのようなエレガントなソリューションですか。どうもありがとうございました! – Nate