Fix inside an object with Javascript

0

I explain the problem every month has three possible states (good, bad and regular) and you should know the status of each month given a specific years arrangement in this case for 2016 and 2017.

These are my advances

var status_state = {},meses_states={},anios_state={},datos_state=[];
var years=[2016,2017];
var months=["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"];
var states=["Bueno","Malo","Regular"];
for (var i = 0; i < years.length; i++) {
  var year=years[i];
  for (var j = 0; j < months.length; j++) {
    var month=months[j];
    for (var k = 0; k < states.length; k++) {
      var state=states[k];
      status_state.bueno=Math.random();
      status_state.malo=Math.random();
      status_state.regular=Math.random();
    }
    meses_states.month=status_state; 
  }
  anios_state.year=meses_states;
}
datos_state.push({anos: anios_state});
console.log("Informacion Almacenada");
console.log(datos_state);

add a random to simulate data, but as you see it does not show me the years or months

    
asked by Rastalovely 28.07.2017 в 00:29
source

1 answer

2

You are always using the same objects and you overwrite them again and again, you need to add arrangements to your objects to keep saving every month and every year

var status_state = {},meses_states={},anios_state={},datos_state=[];
var years=[2016,2017];
var months=["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"];
var states=["Bueno","Malo","Regular"];
for (var i = 0; i < years.length; i++) {
  var year=years[i];
  anios_state={};//Creas un objeto nuevo
  anios_state.year = year;
  anios_state.yearMonths = [];
  for (var j = 0; j < months.length; j++) {
    var month=months[j];
    for (var k = 0; k < states.length; k++) {
      var state=states[k];
      status_state = {};//Creas un objeto nuevo
      status_state.bueno=Math.random();
      status_state.malo=Math.random();
      status_state.regular=Math.random();
    }
    meses_states = {};//Creas un objeto nuevo
    meses_states.month=month;
    meses_states.monthStatus=status_state;
    anios_state.yearMonths.push(meses_states); 
  }  
  datos_state.push({anos: anios_state});
}
console.log("Informacion Almacenada");
console.log(datos_state);
    
answered by 28.07.2017 / 00:51
source