{"ScriptPreparationCode":"var a = [];\r\nvar b = [];\r\n\r\nfor (var i = 0; i \u003C 1000; i\u002B\u002B) {\r\n var val1 = Math.random().toString(36).slice(2);\r\n var val2 = Math.random().toString(33).slice(2);\r\n b.push(val1);\r\n if (Math.random() \u003E 0.1) {\r\n b.push(val2);\r\n a.push(val1);\r\n } else {\r\n a.push(val2);\r\n }\r\n}","TestCases":[{"Name":"filter","Code":"window.ret = a.filter(val =\u003E b.indexOf(val) === -1);","IsDeferred":false},{"Name":"reduce","Code":"window.ret = a.reduce((result, item) =\u003E {\r\n if (b.indexOf(item) === -1) {\r\n result.push(item);\r\n }\r\n return result;\r\n }, []);","IsDeferred":false},{"Name":"slice-splice","Code":"const result = window.ret = a.slice();\r\nfor (let i = 0; i \u003C result.length; i\u002B\u002B) {\r\n for (let j = 0; j \u003C b.length; j\u002B\u002B) {\r\n if (result[i] === b[j]) {\r\n result.splice(i, 1);\r\n i--;\r\n break;\r\n }\r\n }\r\n}","IsDeferred":false}]}