Foros del Web » Programando para Internet » Javascript »

Como declar un objeto desde un loop

Estas en el tema de Como declar un objeto desde un loop en el foro de Javascript en Foros del Web. hola amigos, como puedo declar un objeto mediante loop? @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original var groups = {     cities : new ...
  #1 (permalink)  
Antiguo 12/07/2017, 12:53
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.852
Antigüedad: 9 años
Puntos: 6
Como declar un objeto desde un loop

hola amigos, como puedo declar un objeto mediante loop?

Código Javascript:
Ver original
  1. var groups = {
  2.     cities: new L.LayerGroup(),
  3.     restaurants: new L.LayerGroup(),
  4.     dogs: new L.LayerGroup(),
  5.     cats: new L.LayerGroup()
  6.   };


Hasta el momento he hecho lo siguiente pero tendría un array de objetos

Código Javascript:
Ver original
  1. var tempData = [];
  2. var obj = {};
  3.     for(var j=0; j<5; j++){
  4.          obj = {j:'x'+j};
  5.          tempData.push(obj);
  6.     }
  7.  
  8. console.log(tempData);

Última edición por Montes28; 12/07/2017 a las 13:06
  #2 (permalink)  
Antiguo 12/07/2017, 14:22
Avatar de alvaro_trewhela  
Fecha de Ingreso: octubre-2012
Ubicación: localhost
Mensajes: 965
Antigüedad: 7 años
Puntos: 110
Respuesta: Como declar un objeto desde un loop

Como lo muestrs es eso lo que obtendas pues. que quieres hacer?
  #3 (permalink)  
Antiguo 12/07/2017, 14:57
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.852
Antigüedad: 9 años
Puntos: 6
Respuesta: Como declar un objeto desde un loop

tengo el Array [ "cities", "restaurants", "dogs", "cats" ] necesito recorerlo y declar la variable groups y que quede asi

Código Javascript:
Ver original
  1. var groups = {
  2.         cities: new L.LayerGroup(),
  3.         restaurants: new L.LayerGroup(),
  4.         dogs: new L.LayerGroup(),
  5.         cats: new L.LayerGroup()
  6.       };
  #4 (permalink)  
Antiguo 12/07/2017, 15:29
Avatar de alvaro_trewhela  
Fecha de Ingreso: octubre-2012
Ubicación: localhost
Mensajes: 965
Antigüedad: 7 años
Puntos: 110
Respuesta: Como declar un objeto desde un loop

Es que en tu for no entiendo nada lo que estás haciendo, además lo que estás haciendo es excactamente eso obtener un arreglo de obtejos, yo haría esto:

var misObjetos = new Array();

for(var k=0;k<5;k++){
var c = new L.LayerGroup();
var r = new L.LayerGroup();
var d = new L.LayerGroup();
var ct = new L.LayerGroup();
misObjetos[k] = {"cities":c, "restaurants":r, "dogs":d, "cats":ct};
}

Te recuerdo que debes instanciar cada objeto para cada variable ya que si no lo haces se compartira dicho objeto entre variables...
  #5 (permalink)  
Antiguo 12/07/2017, 15:42
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.852
Antigüedad: 9 años
Puntos: 6
Respuesta: Como declar un objeto desde un loop

alvaro_trewhela gracias por responder, necesito dinamicamente declarar las variables

Código Javascript:
Ver original
  1. myArray.forEach( function(valor, indice, array) {
  2.      var varname = valor;
  3.      window[varname] =  L.layerGroup();
  4.  });

y que al final quede asi

Código Javascript:
Ver original
  1. var groups = {
  2.             cities: new L.LayerGroup(),
  3.             restaurants: new L.LayerGroup(),
  4.             dogs: new L.LayerGroup(),
  5.             cats: new L.LayerGroup()
  6.           };


el problema es con var groups = {}
  #6 (permalink)  
Antiguo 12/07/2017, 16:12
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 4 años, 3 meses
Puntos: 263
Respuesta: Como declar un objeto desde un loop

creo que simplemente debes hacer esto:

Código Javascript:
Ver original
  1. var data = ['ciries','restaurants','dogs','cats'];
  2.     var obj = {};
  3.  
  4.     var canti = data.length;
  5.  
  6.     for(var i =0; i<canti; i++){
  7.         obj[data[i]] = new L.LayerGroup();
  8.     };

prueba a ver
__________________
[email protected]
HITCEL
  #7 (permalink)  
Antiguo 13/07/2017, 01:57
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 9.956
Antigüedad: 11 años, 2 meses
Puntos: 2184
Respuesta: Como declar un objeto desde un loop

Creo que en cualquier lenguaje es muy mala idea crear variables dentro de un ciclo; lo propio sería declararla primero y actualizarla cuando sea conveniente, así evitas problemas de intentar acceder a una variable inexistente.

Revisa este enlace: https://stackoverflow.com/questions/...ing-javascript
__________________
- León, Guanajuato
- GV-Foto

Última edición por Triby; 13/07/2017 a las 02:04

Etiquetas: loop, objeto
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 01:28.