{"ScriptPreparationCode":"/* these functions assume that only one element matches, so they do not loop! */\r\n\r\nfunction deleteBySplice(array, elements) {\r\n elements.forEach(element =\u003E {\r\n var index = array.indexOf(element);\r\n if (index !== -1) {\r\n array.splice(index, 1);\r\n }\r\n })\r\n}\r\n\r\nfunction deleteByCopyWithin(array, elements) {\r\n elements.forEach(element =\u003E {\r\n var index = array.indexOf(element);\r\n if (index !== -1) {\r\n array.copyWithin(index, index \u002B 1);\r\n --array.length;\r\n }\r\n })\r\n}\r\n\r\nfunction deleteByFilter(array, elements) {\r\n elements.forEach(element =\u003E {\r\n array[array.indexOf(element)] = undefined;\r\n })\r\n array = array.filter(el =\u003E !!el);\r\n}","TestCases":[{"Name":"deleteBySplice","Code":"deleteBySplice( array, [\u0022uyjxmtqnrzvj7mkyqmtoqolxr\u0022,\u0022m1c6kzws0iubt8g0zlsug14i\u0022,\u00224wlivut0n1ht80rs5lyf7ds4i\u0022] );","IsDeferred":false},{"Name":"Delete by copyWithin","Code":"deleteByCopyWithin( array, [\u0022uyjxmtqnrzvj7mkyqmtoqolxr\u0022,\u0022m1c6kzws0iubt8g0zlsug14i\u0022,\u00224wlivut0n1ht80rs5lyf7ds4i\u0022] );","IsDeferred":false},{"Name":"deleteByFilter","Code":"deleteByFilter( array, [\u0022uyjxmtqnrzvj7mkyqmtoqolxr\u0022,\u0022m1c6kzws0iubt8g0zlsug14i\u0022,\u00224wlivut0n1ht80rs5lyf7ds4i\u0022] );","IsDeferred":false}]}