me escribió el siguiente código a "estallar" una propiedad de un objeto como si se tratara de una matriz. Esto parece el tipo de código que me conseguiría golpeado por los programadores más graves, por lo que se preguntaba cuál es la forma correcta de hacer esto:Javascript "pop" de objeto
// wrong way to pop:
for(key in profiles){
var profile = profiles[key]; // get first property
profiles[key] = 0; // Save over property just in case "delete" actually deletes the property contents instead of just removing it from the object
delete profiles[key]; // remove the property from the object
break; // "break" because this is a loop
}
debería haber mencionado anteriormente, que a diferencia de un verdadero "pop" , No necesito que los objetos salgan en un orden particular. Solo necesito sacar uno y eliminarlo de su objeto principal.
envolver el cuerpo en una 'si (profiles.hasOwnProperty (clave) {..', y quita el' = 0'' –
¿Qué intenta hacer exactamente? Eliminar la primera propiedad que se agregó a un objeto? Esto no necesariamente funcionará, ya que no se garantiza el orden en que se recuperan las propiedades en un bucle 'for..in'. Aparte de eso usted debe utilizar 'hasOwnProperty' para asegurarse de que no es parte del prototipo, y no tiene que hacer nada que no sea' delete' a eliminar una propiedad de un objeto. –