Problem
- Your goal in this kata is to implement a difference function, which subtracts one list from another and returns the result.
- difference 함수를 구현한다.
- 하나의 list를 다른 list에서 빼고, 그 결과를 반환한다.
- It should remove all values from list ‘a’, which are present in list ‘b’.
- list ‘a’에서 list ‘b’의 모든 값을 제거한다.
Solution 01
function diffArray(a, b) {
let result = [];
for (let i = 0; i < a.length; i++) {
if (b.indexOf(a[i]) === -1) {
result.push(a[i]);
}
}
return result;
}
diffArray([1, 2], [1]); // [2]
diffArray([3, 4], [3]); // [4]
diffArray([], [1]); // []
diffArray([1], []); // [1]
Solution 02
function diffArray(a, b) {
return a.filter(i => !b.includes(i));
}
diffArray([1, 2], [1]); // [2]
diffArray([3, 4], [3]); // [4]
diffArray([], [1]); // []
diffArray([1], []); // [1]
Solution 03
function diffArray(a, b) {
return a.filter(i => b.indexOf(i) === -1);
}
diffArray([1, 2], [1]); // [2]
diffArray([3, 4], [3]); // [4]
diffArray([], [1]); // []
diffArray([1], []); // [1]