JSFiddle - React, Tailwind, and code Playground
by odiseo
JavaScript
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("POST","http://csg-eng.ooyala.com/challenge/",false);
xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlHttp.send("co_founder_name=sean&[email protected]");
console.log(xmlHttp.responseText);
{"powered_by":"ooyala","next_step":"Explica lo que hace este código: https://gist.github.com/17993dd8863a9fd7e090, y manda tu respuesta junto con tu CV a [email protected] con el siguiente título en el correo: Ooyala Challenge 2012 << 1348088458 >>. Tienes hasta el 26 de Septiembre, 2012 a las 6:00 pm CST para participar en la rifa de un iPad. "}
Una descripción de lo que hace este sistema a un alto nivel sería: dado una cadena ingresada en "in", si el número de caracteres en esta cadena es primo, entonces si se introduce un caracter en "test" el programa regresará "Maybe here" si este caracter se encuentra dentro de la primera mitad (+1) de la cadena "in".
Por ejemplo, dada la cadena "abcdefghijklmnopq" cuyo conteo de caracteres es 17, que es número primo, el sistema devolvera "Maybe here" si en test se ingresa cualquiera de los siguientes caracteres contenidos en la primera mitad de la cadena: a,b,c,d,e,f,g.
A continuación describo de forma interna como se comporta el sistema:
La función add() regresa el resultado de la operación binaria OR entre el valor actual de la variable "r" y el resultado arrojado por la función "h" del valor que se ingrese en el campo "inText". Dicho resultado será almaceado en la variable "r" cuyo scope está fuera de esta función, por lo que podrá ser accedida más tarde por otras funciones dentro de este documento.
Adicionalmente se concaterá el valor ingresado en "inText" al elemento "log" con el mensaje "Added "+ el valor del campo "intTtx".
La función "h" recibe una cadena de caracteres, la cual en primera instancia regresará 0 si el argumento es vacio. De lo contrario recorrerá la cadena caracter por caracter. En cada iteración "i"...