{"ScriptPreparationCode":"function pushIfNotExist(array, element, key=\u0022id\u0022){\r\n \tif (!element) return array;\r\n\r\n const isArray = Array.isArray(element);\r\n const isElementSet = false;\r\n const isElementMap = false;\r\n\r\n if (isArray || isElementSet || isElementMap) {\r\n throw Error(\r\n \u0022pushIfNotExist : Type of element is invalid. Types array, map or set are not supported.\u0022\r\n );\r\n }\r\n\r\n const isPrimitive = [\u0022string\u0022, \u0022boolean\u0022, \u0022number\u0022].includes(typeof element);\r\n const isElementInArray = isPrimitive\r\n ? array.includes(element)\r\n : array.some((elementFromArray) =\u003E element[key] === elementFromArray[key]);\r\n\r\n if (isElementInArray) return array;\r\n\r\n array.push(element);\r\n\r\n return array;\r\n}\r\n\r\nfunction pushIfNotExistSet(array, element, key=\u0022id\u0022){\r\n \tif (!element) return array;\r\n\r\n const isArray = Array.isArray(element);\r\n const isElementSet = false;\r\n const isElementMap = false;\r\n\r\n if (isArray || isElementSet || isElementMap) {\r\n throw Error(\r\n \u0022pushIfNotExist : Type of element is invalid. Types array, map or set are not supported.\u0022\r\n );\r\n }\r\n\r\n const isPrimitive = [\u0022string\u0022, \u0022boolean\u0022, \u0022number\u0022].includes(typeof element);\r\n let isElementInArray = false;\r\n\r\n const arraySet = new Set(array.map((elementFromArray) =\u003E elementFromArray[key]));\r\n isElementInArray = arraySet.has(element);\r\n\r\n if (isElementInArray) return array;\r\n\r\n array.push(element);\r\n\r\n return array;\r\n}","TestCases":[{"Name":"pushIfNotExist","Code":"const array = [...Array(1000).keys()]\r\nconst result = pushIfNotExist(array, 1001)","IsDeferred":false},{"Name":"pushIfNotExistSet","Code":"const array = [...Array(1000).keys()]\r\nconst result = pushIfNotExistSet(array, 1001)","IsDeferred":false}]}