{"ScriptPreparationCode":"const item = {\r\n a: \u0027a\u0027,\r\n b: Math.floor(Math.random() * 4000),\r\n c: true,\r\n d: \u0027nice\u0027\r\n};\r\n\r\nvar items = new Array(10000).fill(item);\r\n\r\nconst toFind = {\r\n a: \u0027a\u0027,\r\n b: Math.floor(Math.random() * 4000),\r\n c: true,\r\n d: \u0027banana\u0027\r\n};\r\n\r\nitems.splice(4321, 0, toFind);\r\n\r\nconst itemsB = new Array(1000).fill(\u0027cool\u0027)\r\nitemsB.splice(4321, 0, \u0027banana\u0027)\r\n\r\nfunction removeFromArray(arr, item, by) {\r\n const index = by ?\r\n arr.findIndex((i) =\u003E i[by] === item[by]) :\r\n arr.indexOf(item);\r\n if (index \u003E -1) {\r\n arr.splice(index, 1);\r\n }\r\n return arr;\r\n}\r\n\r\nfunction removeFromArrayByValue(x, value, by) {\r\n const arr = x ? [...x] : []\r\n const index = by ?\r\n arr.findIndex((i) =\u003E i[by] === value) :\r\n arr.indexOf(value);\r\n if (index \u003E -1) {\r\n arr.splice(index, 1);\r\n }\r\n return arr;\r\n}","TestCases":[{"Name":"Filter","Code":"const x = [...items]\r\n\r\nx.filter((item) =\u003E item.d !== \u0027banana\u0027);\r\n\r\nreturn x;","IsDeferred":false},{"Name":"Splice","Code":"const y = [...items]\r\n\r\ny.splice(y.findIndex((item) =\u003E item.d === \u0027banana\u0027), 1);\r\n\r\nreturn y;","IsDeferred":false},{"Name":"Via Helper","Code":"const r = removeFromArrayByValue(items, \u0027banana\u0027, \u0027d\u0027)\r\n\r\nreturn r","IsDeferred":false}]}