Tengo una matriz como tal:
arr = { name: 1, address: 1, phone: 2, email: 5, };Quiero poder agregar más información a esta matriz, por ejemplo:
arr = { name: 1 true, address: 1 false, phone: 2 true, email: 5 true, };He intentado algunas cosas diferentes como:
arr.email[2] = true;Sin resultados (o errores).
¿Hay alguna forma de hacer esto? ¿O una mejor manera de manejar este problema?
No estoy del todo seguro de lo que busca aquí, ya que menciona que desea una matriz ( [] ), pero lo que ha mostrado en su pregunta es un objeto ( {} ), pero si estoy leyendo bien, puede lograr esto con un objeto donde cada clave contiene una matriz de valores. Eso se vería como:
const obj = { name: [1], address: [1], phone: [2], email: [5], }; obj.email.push(true); obj.email.push("whatever"); console.log(obj) console.log(obj.email[1]) console.log(obj.email[2]) Por lo tanto, obj es un objeto, pero el name , address , phone y el email son matrices que puede ampliar según sea necesario con métodos de matriz .
La estructura de datos original no le permite agregar datos de la manera que desea. Entonces, primero debe crear el objeto con la estructura de datos necesaria. Después de esto, los datos originales deben moverse al nuevo objeto y solo después de esto puede agregar algunos datos nuevos.
newObj.name.push(origObj.name,true,"something1","something2"); newObj.address.push(origObj.address,false); newObj.phone.push(origObj.phone,true); newObj.email.push(origObj.email,true);producción
{ "name":[1,true,"something1","something2"], "address":[1,false], "phone":[2,true], "email":[5,true] }objeto original
var origObj = { name: 1, address: 1, phone: 2, email: 5 };nuevo objeto
var newObj = { name: [], address: [], phone:[], email: [] };Necesitaría asignar una variable a su matriz y llamar a una función... de esa manera, cada elemento podría clasificarse (booleano, cadena, entero, etc.) Por ejemplo,
const fruit = ['banana', 'apple', 'pear']; console.log(fruit);