{"ScriptPreparationCode":"var arr = [1, 2, 3];\r\n\r\nvar xor1 = (value, array) =\u003E {\r\n return [...new Set(array.reduce((prevValue, currValue) =\u003E {\r\n if (currValue !== value) {\r\n prevValue.push(currValue);\r\n }\r\n prevValue.push(value);\r\n return prevValue;\r\n }, []))];\r\n}\r\n\r\nvar xor2 = (value, arr) =\u003E {\r\n return arr.includes(value) ? arr.filter(item =\u003E item !== value) : arr.concat(value);\r\n}\r\n\r\nvar xor3 = (value, array) =\u003E {\r\n let isExist = false;\r\n const result = [];\r\n\r\n for (const item of array) {\r\n if (item !== value) {\r\n result.push(item);\r\n } else {\r\n isExist = true;\r\n }\r\n }\r\n\r\n return [...new Set(isExist ? result : result.concat(value))];\r\n}","TestCases":[{"Name":"xor reduce","Code":"xor1(4, arr)","IsDeferred":false},{"Name":"xor filter","Code":"xor2(4, arr)","IsDeferred":false},{"Name":"xor for","Code":"xor3(4, arr)","IsDeferred":false},{"Name":"lodash","Code":"_.xor(arr, [4])","IsDeferred":false}]}