Clases Diego - Objetos y Arrays (nivel 1)

by Marventus

HTML

<h1>Ejercicio de Objetos y Arrays (nivel 1)
</h1>
<ol>
  <li><span>Agregar dos elementos más a la propiedad <span class="code">furniture</span> del objeto <span class="code">home</span>.</span></li>
  <li><span>Agregar una propiedad nueva al objeto <span class="code">home</span> con un valor de tipo <span class="code">array</span>.</span></li>
<li><span>Transformar el <span class="code">array</span> dentro de la propiedad <span class="code">deco</span> del objeto <span class="code">home</span> en un objeto cuyas propiedades tengan el mismo nombre que los valores del <span class="code">array</span> actual y contengan cada una un <span class="code">array</span> con al menos tres elementos cada uno.</span></li>
</ol>

CSS

body {
  background: #ddd;
  color: #666;
  font: 15px "Lucida Sans Unicode", "Lucida Grande", sans-serif;
  text-shadow: 1px 1px 0 #fff;
}
h1 {
  font-size: 1.5em;
}
ol li {
  font-weight: bold;
  margin: 0.5em 0;
}
ol li span {
  font-weight: normal;
}
.code {
  color: #369;
  font: bold 1.05em "Courier New", Courier, monospace;
}

JavaScript

var home = {
  furniture: ["bed", "sofa", "desk",  "futon"],
  deco: ["plants", "paint", "lamps", "pictures"],
  pets: ["dogs", "cats", "fish", "turtles"]
}

/* Primer pregunta */
home.furniture.push("chair", "library");

/* Segunda pregunta */
/* conociedno el nombre de la propiedad
home.residents = ["padre", "madre", "hijo"];*/
// Desconociendo el nombre de la propiedad
var propiedad = "residents";
home[propiedad] = ["padre", "madre", "hijo"];

/* Tercer Pregunta */
/* Manual
home.deco = {
    dogs: ["uno", "dos", "tres"],
    cats: ["uno", "dos", "tres"],
    fish: ["uno", "dos", "tres"],
    turtles: ["uno", "dos", "tres"]
};*/
// Dinámico
var nuevoValor = ["uno", "dos", "tres"];
$.each(home.deco, function(i,v) {
    if( typeof home.deco[0] !== "undefined") {
		home.deco = {};
    }
    home.deco[v] = nuevoValor;
});
       
// Testing
console.log(home);