{"ScriptPreparationCode":"var rightSelection = \u0022White\u0022;\r\nvar wrongSelection = \u0022Greeny\u0022;\r\nvar options = document.getElementById(\u0022colours\u0022).options;\r\nvar $options = $(\u0022#colours\u0022);\r\nvar array = Array.prototype.map.call(options, function (option) {\r\n return option.value;\r\n});\r\nvar hashmap = Array.prototype.reduce.call(options, function (obj, option) {\r\n if (!obj[option.value]) { obj[option.value] = true; }\r\n return obj;\r\n}, {});","TestCases":[{"Name":"Using each (jQuery)","Code":"function findColour (color) {\r\n var finded = false;\r\n $options.find(\u0022option\u0022).each(function() {\r\n if (this.value === color) {\r\n finded = true;\r\n return false;\r\n }\r\n });\r\n return finded;\r\n}\r\n\r\nfindColour(rightSelection);\r\nfindColour(wrongSelection);","IsDeferred":false},{"Name":"Using find (jQuery)","Code":"function findColour (color) {\r\n return $options.find(\u0022option[value=\u0027\u0022 \u002B color \u002B \u0022\u0027]\u0022).length;\r\n}\r\n\r\nfindColour(rightSelection);\r\nfindColour(wrongSelection);","IsDeferred":false},{"Name":"Search inside an Array of Strings (Vanilla JS)","Code":"function findColour (color) {\r\n return array.indexOf(color) \u003E= 0;\r\n}\r\n\r\nfindColour(rightSelection);\r\nfindColour(wrongSelection);","IsDeferred":false},{"Name":"Search inside a HashMap of Strings (Vanilla JS)","Code":"function findColour (color) {\r\n return hashmap[color];\r\n}\r\n\r\nfindColour(rightSelection);\r\nfindColour(wrongSelection);","IsDeferred":false}]}