はじめに
差分関数を実装する機会がありましたので、覚書程度に。
適宜追加・修正しようと思っています。
includes()
methodを使いましたが、indexOf()
methodを使っても実装できるみたいですね。
訂正等あればコメントください。
結論
const logical_expression = function (arr1, arr2) {
let intersection = arr1.filter(e => arr2.includes(e));
console.log(intersection);
}
logical_expression([1, 2, 3], [2, 3, 5])
// -> [ 2, 3 ]
const logical_expression = function (arr1, arr2) {
let differenceA = arr1.filter(e => !arr2.includes(e));
console.log(differenceA);
}
logical_expression([1, 2, 3], [2, 3, 5])
// ->[ 1 ]
const logical_expression = function (arr1, arr2) {
let differenceB = arr2.filter(e => !arr1.includes(e));
console.log(differenceB);
}
logical_expression([1, 2, 3], [2, 3, 5])
// ->[ 5 ]
const logical_expression = function (arr1, arr2) {
let symmetric = arr1
.filter(e => !arr2.includes(e))
.concat(arr2.filter(e => !arr1.includes(e)));
console.log(symmetric);
}
logical_expression([1, 2, 3], [2, 3, 5])
// ->[ 1, 5 ]