Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] nombre de variables

Estas en el tema de nombre de variables en el foro de Javascript en Foros del Web. saludos a todos estoy haciendo un ciclo for de 0 a 3 iteraciones, pero quiero saber como puedo tener varias variables con nombre similares dentro ...
  #1 (permalink)  
Antiguo 04/10/2014, 17:37
Avatar de Esfinge02  
Fecha de Ingreso: septiembre-2008
Ubicación: Cd. Victoria Tam
Mensajes: 162
Antigüedad: 13 años, 4 meses
Puntos: 2
Pregunta nombre de variables

saludos a todos estoy haciendo un ciclo for de 0 a 3 iteraciones, pero quiero saber como puedo tener varias variables con nombre similares dentro del ciclo. ejemplo:

iteracion 0

var variable0 = 'valor'

iteracion 1

var variable1 = 'valor'

etc

si estuviera usando php solo tendría que poner

variable<?php echo contador;?> = 'valor'

dentro del ciclo para generar una variable diferente pero en Javascript no se como hacerlo.
__________________
La ignorancia es una bendición o un privilegio, yo lo siento programadores
  #2 (permalink)  
Antiguo 04/10/2014, 17:59
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.538
Antigüedad: 10 años, 2 meses
Puntos: 969
Respuesta: nombre de variables

Podrías trabajar con un objeto literal, al cual le asignarías atributos y valores en cada iteración.

Código Javascript:
Ver original
  1. var variable = {};
  2. for (var i = 0; i < 3; i++){
  3.     variable[i] = "Valor " + i;
  4. }
  5. console.log(variable);

Lo anterior mostrará en consola lo siguiente:

Código Consola:
Ver original
  1. Object {0: "Valor 0", 1: "Valor 1", 2: "Valor 2"}

Y para acceder a cualquiera de dichos valores, basta con que especifiques el atributo entre corchetes:

Código Javascript:
Ver original
  1. console.log(variable[1]); //Imprime "Valor 1"

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 04/10/2014, 18:33
Avatar de Esfinge02  
Fecha de Ingreso: septiembre-2008
Ubicación: Cd. Victoria Tam
Mensajes: 162
Antigüedad: 13 años, 4 meses
Puntos: 2
Respuesta: nombre de variables

saludos, lo que me comentas ya lo e intentado pero me marca un error, dejo aquí el código del For:
Cita:
for(e = 0; e < matriscoordenadas.length; e++){

matriscoordenadas[e] = matriscoordenadas[e].replace('%20', '');
var cor = matriscoordenadas[e].split(',');

matrisdirecciones[e] = matrisdirecciones[e].replace('%20', ' ');

var contador = e + 1;
var contenido = '<div id="tooltip"> <h1>Direccion '+ contador +'</h1> <p> <b>Dirreccion:</b>'+ matrisdirecciones[e] +'</p><p><b>Tipo:</b>'+ matristipo[e] +'</p></div>';
//hacer 3 o 4 puntos
direccion = new google.maps.LatLng(cor[0],cor[1]);
var detalle_direccion = new google.maps.Marker({
position: direccion,
map: map_direcciones,
title: 'Detalle de la Direccion',
draggable: true
})
var infodireccion = new google.maps.InfoWindow({
content:contenido
});
google.maps.event.addListener(detalle_direccion[e],'click',function(){
infodireccion.open(map_direcciones,detalle_direcci on[e]);
});
//hasta aqui un solo punto//
}
aparece este error
Uncaught TypeError: Cannot read property '__e3_' of undefined
main.js:14
__________________
La ignorancia es una bendición o un privilegio, yo lo siento programadores

Última edición por Esfinge02; 04/10/2014 a las 18:44
  #4 (permalink)  
Antiguo 04/10/2014, 19:31
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.538
Antigüedad: 10 años, 2 meses
Puntos: 969
Respuesta: nombre de variables

¿Y cuál es la línea de código número 14 del archivo 'main.js'?
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 06/10/2014, 15:00
Avatar de Esfinge02  
Fecha de Ingreso: septiembre-2008
Ubicación: Cd. Victoria Tam
Mensajes: 162
Antigüedad: 13 años, 4 meses
Puntos: 2
Pregunta Respuesta: nombre de variables

saludos, una disculpa por no contestar antes, tuve algunos problemas con la lab, pero de nuevo en linea Xb

Cita:
function Be(a){return da[I][Gc][J](a,0)}function De(){return(new Date)[Xb]()}function Ee(a){return null!=a&&"object"==typeof a&&"number"==typeof a[H]}function Fe(a){return function(){var b=this,c=arguments;Ge(function(){a[wc](b,c)})}}function Ge(a){return k[fc](a,0)}function He(){return k.devicePixelRatio||ea.deviceXDPI&&ea.deviceXDPI/96||1}function Ie(a,b){if(aa[I][nc][J](a,b))return a[b]};function Je(a){a=a||k[sd];Ke(a);Ne(a)}function Ke(a){a.cancelBubble=!0;a[ic]&&a[ic]()}function Ne(a){a[Db]&&ue(a[bc])?a[Db]():La(a,!1)}function Oe(a){a.handled=!0;ue(a.bubbles)||La(a,"handled")} ;var T={};T.vf="undefined"!=typeof ha&&-1!=ha[jc][rd]()[Mc]("msie");T.Ke={};T.addListener=function(a,b,c){ret urn new Pe(a,b,c,0)};T.ig=function(a,b){var c=a.__e3_,c=c&&c[b];return!!c&&!ke(c)};T.removeListener=function(a){a &&a[Ib]()};T.clearListeners=function(a,b){je(Qe(a,b),func tion(a,b){b&&b[Ib]()})};T.clearInstanceListeners=function(a){je(Qe(a ),function(a,c){c&&c[Ib]()})};function Re(a,b){a.__e3_||(a.__e3_={});var c=a.__e3_;c[b]||(c[b]={});return c[b]}
esta es la linia 14 del archivo main.js, sin embargo este archivo lo obtengo de:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

no lo tengo físicamente en el equipo.
__________________
La ignorancia es una bendición o un privilegio, yo lo siento programadores
  #6 (permalink)  
Antiguo 06/10/2014, 15:25
Avatar de Esfinge02  
Fecha de Ingreso: septiembre-2008
Ubicación: Cd. Victoria Tam
Mensajes: 162
Antigüedad: 13 años, 4 meses
Puntos: 2
Información Respuesta: nombre de variables

después de una rato de divagar utilice un case se que el ciclo nunca ira mas aya de 4 iteraciones así que decidí hacer esto.

seguiré buscando como hacerlo de manera mas compacta XD.

les dejo la pagina completa para que le echen un ojo.

Código HTML:
<!DOCTYPE html>
<html>
  <head>

    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=KEY&sensor=FALSE"></script>
    <link rel="stylesheet" href="css/style.css"></link>

    <script type="text/javascript">

      function initialize() {
        var mapOptions = {
          center: new google.maps.LatLng(23.7333,-99.1333),
          zoom: 12,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map_direcciones = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
        //capturamos la URL y la descomponemos
        var Url = location.href;
        Url = Url.replace(/.*\?(.*?)/,"$1");
        Variables = Url.split ("&");
        for (i = 0; i < Variables.length; i++) {
          Separ = Variables[i].split("=");
          eval ('var '+Separ[0]+'="'+Separ[1]+'"');
        }

        //Para comprobarlo:
        var strcoordenadas = coordenadas.substring(0, coordenadas.length-1);
        var strdirecciones = direcciones.substring(0, direcciones.length-1);
        var strtipo = tipo.substring(0, tipo.length-1);
         
        var matriscoordenadas = strcoordenadas.split('@');
        var matrisdirecciones = strdirecciones.split('@');
        var matristipo = strtipo.split('@');
        //hay que hacer mas puntos de estos con php//
        
        for(e = 0; e < matriscoordenadas.length; e++){

          matriscoordenadas[e] = matriscoordenadas[e].replace('%20', '');
          var cor = matriscoordenadas[e].split(',');

          matrisdirecciones[e] = matrisdirecciones[e].replace('%20', ' ');

          var contador = e + 1;
          var contenido = '<div id="tooltip"> <h1>Direccion '+ contador +'</h1> <p> <b>Dirreccion:</b>'+ matrisdirecciones[e] +'</p><p><b>Tipo:</b>'+ matristipo[e] +'</p></div>';
          //hacer 3 o 4 puntos
          direccion = new google.maps.LatLng(cor[0],cor[1]);
          
          //crendo puntos con un case
          switch (e){
            case 0:
              var detalle_direccion1 = new google.maps.Marker({
                position: direccion,
                map: map_direcciones,
                title: 'Detalle de la Direccion',
                draggable: true
              })
              var infodireccion1 = new google.maps.InfoWindow({
                content:contenido
              });
              google.maps.event.addListener(detalle_direccion1,'click',function(){
                  infodireccion1.open(map_direcciones,detalle_direccion1);
              });
            break
            case 1:
              var detalle_direccion2 = new google.maps.Marker({
                position: direccion,
                map: map_direcciones,
                title: 'Detalle de la Direccion',
                draggable: true
              })
              var infodireccion2 = new google.maps.InfoWindow({
                content:contenido
              });
              google.maps.event.addListener(detalle_direccion2,'click',function(){
                  infodireccion2.open(map_direcciones,detalle_direccion2);
              });
            break
            case 2:
              var detalle_direccion3 = new google.maps.Marker({
                position: direccion,
                map: map_direcciones,
                title: 'Detalle de la Direccion',
                draggable: true
              })
              var infodireccion3 = new google.maps.InfoWindow({
                content:contenido
              });
              google.maps.event.addListener(detalle_direccion3,'click',function(){
                  infodireccion3.open(map_direcciones,detalle_direccion3);
              });
            break
            case 3:
              var detalle_direccion4 = new google.maps.Marker({
                position: direccion,
                map: map_direcciones,
                title: 'Detalle de la Direccion',
                draggable: true
              })
              var infodireccion4 = new google.maps.InfoWindow({
                content:contenido
              });
              google.maps.event.addListener(detalle_direccion4,'click',function(){
                  infodireccion4.open(map_direcciones,detalle_direccion4);
              });
            break
          } 
          ///fin del case para la creacion de puntos
          //hasta aqui un solo punto//
        }

      };

      $(document).ready(function(){
        initialize();
      })

      


    </script>
  </head>
  <body>
    <div id="map_canvas">
        <!-- Aqui ira el Mapa -->
    </div>
  </body>
</html> 
__________________
La ignorancia es una bendición o un privilegio, yo lo siento programadores

Etiquetas: ciclos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:44.