Ver Mensaje Individual
  #7 (permalink)  
Antiguo 25/11/2012, 18:25
furoya
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 6 meses
Puntos: 317
Respuesta: Problemas para leer arrays

Algunos comentarios.
Decir que sabés poco de javascript no es excusa. Porque claramente estás copiando y pegando un código que encontraste por ahí, no lo entendés y querés que te lo arreglemos nosotros. No estás planteando una duda sobre tu modificación. Porque no lo modificaste, ni siquiera sabés HTML, porque ya hubieses corregido las etiquetas que están obsoletas. Ese ejemplo lo habrás sacado de algún sitio viejísimo.

Por suerte, lo que estás planteando es muy fácil de hacer, pero vas a tener que aprender un poco. No te lo pienso dar hecho, porque si estoy posteando es porque me parece un buen ejercicio para estudiar ya no manejo de arrays, sino manejo de cadenas con un fin práctico.

Vamos a replantear el asunto. Hay 24 preguntas, cada una puede devolver "bien" (1) o "mal" (0). Una vez respondidas, en vez de guardarlas en un array, se guardan en una cadena. Algo como

var alfa = '110100111001010011101000';

que tiene las respuestas buenas y malas en el mismo orden de las preguntas.
No explico cómo se crea esta cadena, porque es evidente y básico. Está en cualquier tutorial y ya lo hicimos mil veces en estos Foros.

Ahora supongamos que hay una serie que tiene más importancia que el resto de las preguntas, y es la que va desde la 10ª a la 15ª inclusive. Si de éstas no se responde correctamente al menos 2, ya está afuera.
Si pasa esta etapa, entonces sí se cuentan que del total haya respondido al menos 12. Si no alcanza, tampoco pasa, y si lo logra, entonces se lo aprueba.

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<title></title>
<script type="text/javascript">

//                   001010         respuestas correctas entre 10ª y 15ª incl.
var alfa = '110100111001010011101000';
//          110100111      011101000 respuestas correctas hasta 9ª y desde 16ª

var bravo = new RegExp("1","g");
var charly = alfa.substring(9,15); alert(charly)
var delta = charly.match(bravo); alert(delta);
var eco = alfa.match(bravo); alert(eco);

if(delta.length < 2) alert('Tiene sólo '+delta.length+' respuestas correctas entre las importantes de un total de 2.');

else if(eco.length < 12) alert('Tiene sólo '+eco.length+' respuestas correctas del total de 12.');

else alert('Aprobó con '+eco.length+' respuestas correctas.');

</script>
</html>
Pueden jugar con los valores (unos y ceros) sin cambiar la cantidad, obvio. Para eso dejé unos comentarios a modo de guía, para que vean más claramente donde modificar.
En el ejemplo que puse, aprueba raspando.