{"ScriptPreparationCode":"initialObj = {name: \u0027Foo\u0027, password: \u0027Bar\u0027};\r\n\r\nkeyToDelete = \u0027password\u0027;\r\n\r\ndeleteWithDestructuring = (keyToDelete, { [keyToDelete]: deletedKey, ...others }) =\u003E others;\r\n\r\ndeleteWithReduce = (targetObj, keyToDelete) =\u003E (\r\n Object.keys(targetObj).reduce((acc, prop) =\u003E {\r\n if (prop !== keyToDelete) {\r\n acc[prop] = targetObj[prop];\r\n }\r\n return acc;\r\n }, {}));\r\n\r\ndeleteWithFilter = (targetObj, keyToDelete) =\u003E {\r\n const filtered = {};\r\n Object.keys(targetObj).filter(prop =\u003E {\r\n if (prop !== keyToDelete) {\r\n filtered[prop] = targetObj[prop]\r\n }\r\n })\r\n return filtered;\r\n};\r\n\r\ndeleteWithForIn = (targetObj, keyToDelete) =\u003E {\r\n const filtered = {};\r\n for (const prop in targetObj) {\r\n if (prop !== keyToDelete) {\r\n filtered[prop] = targetObj[prop]\r\n }\r\n }\r\n return filtered;\r\n};\r\n\r\n","TestCases":[{"Name":"delete","Code":"delete initialObj[keyToDelete];","IsDeferred":false},{"Name":"lodash.omit","Code":"_.omit(initialObj, keyToDelete);","IsDeferred":false},{"Name":"lodash.unset","Code":"_.unset(initialObj, keyToDelete);","IsDeferred":false},{"Name":"Destructuring","Code":"deleteWithDestructuring(keyToDelete, initialObj);","IsDeferred":false},{"Name":"Reduce","Code":"deleteWithReduce(initialObj, keyToDelete);","IsDeferred":false},{"Name":"Filter","Code":"deleteWithFilter(initialObj, keyToDelete);","IsDeferred":false},{"Name":"Reflect","Code":"Reflect.deleteProperty(initialObj, keyToDelete);","IsDeferred":false},{"Name":"For...in","Code":"deleteWithForIn(initialObj, keyToDelete);","IsDeferred":false}]}