arrayDiff kata
difference between arrays
by trentHarlem
JavaScript
// uses .includes()
const arrayDiff = (a, b) => a.filter(i => !b.includes(i))
// uses .indexOf()
//const arrayDiff = (a, b) => a.filter((i) => (b.indexOf(i) > -1)?false:true)
//----------------------------
/*
function arrayDiff(a, b) {
return a.filter((i) => (b.indexOf(i) > -1)?false:true)
}
*/
//----------------------------
// returns correct with ONE argument for b
//function arrayDiff(a, b) {
//return a.filter((item) => item == b ? false : true)
/* let temp = a
.filter((item) => {
if (item == b) {
return false
} else {
return true;
}
})
return temp*/
//}
//----------------------------
/*
function arrayDiff(a, b) {
a.filter((item,i) => item[i]!=b?1:-1
)
return a
}
*/
console.log(arrayDiff([1, 2, 2, 2, 3], [2, 3]), '== [1]')
//console.log(arrayDiff([13,8,-11,17,-13],[-11,-13]), '13,8,17')
//console.log(arrayDiff([-6,13,13,8,-15,14,9,3,5,15,20,-10,-17,-8,4,10,2],[8,-10,-6,14,10,13,15,-17,2,9]))
console.log(arrayDiff([1, 2, 2, 2, 3], [2]), '== [1,3]')
//console.log(arrayDiff([], [4,5]), [], "a was [], b was [4,5]");
//console.log(arrayDiff([3,4], [3]), [4], "a was [3,4], b was [3]");
//console.log(arrayDiff([1,8,2], []), [1,8,2], "a was [1,8,2], b was []");