Ich bin Neuling Programmierung in JavaScript und ich habe einige Probleme mit einem Array: Wenn ich einen Datenaustausch zwischen einem Array und einer anderen Position in einer Schleife zu positionieren, alle Die Positionen des Arrays werden in denselben Wert konvertiert. Das heißt, die Array-Positionen sind die gleichen wie das zuletzt hinzugefügte Objekt. Ich lasse den Code zu helfen, mich zu wissen, was passiert ist:Alle Positionen des Arrays sind auf den gleichen Wert geändert
.controller("UserAndEditLanguagePanel", function (usersFactory, userLanguagesFactory, LanguageFactory) {
var vm = this;
vm.userSesion = {};
var objAux = {};
objAux.langname = "";
objAux.level = "";
vm.lenguajesUsuario = new Array();
vm.funciones = {
cargarPerfil: function() {
usersFactory.obtenerUsuarioSesion().then(function (respuesta) {
vm.userSesion.idu = respuesta.idu;
vm.userSesion.username = respuesta.username;
vm.userSesion.email = respuesta.email;
console.log("Se han obtenido los datos de usuario de la sesión correctamente. Respuesta: ", respuesta);
userLanguagesFactory.obtenerLenguagesUsuarios().then(function (lenguajesUsuarios) {
console.log("Se han obtenidos los datos de los lenguajes de los usuarios. Respuesta: ", lenguajesUsuarios);
LanguageFactory.obtenerLenguajes().then(function (listaLenguajes) {
console.log("Se han traido los datos de los lenguajes. Respuesta: ", listaLenguajes);
console.log(lenguajesUsuarios);
for (var i = 0; i < lenguajesUsuarios.length; i++) {
if (lenguajesUsuarios[i].idu == vm.userSesion.idu) {
objAux.langname = listaLenguajes[lenguajesUsuarios[i].idl].langname;
objAux.level = lenguajesUsuarios[i].level;
vm.lenguajesUsuario.push(objAux);
}
}
Vielen Dank im Voraus!
Entschuldigung, das Problem befindet sich in der Schleife, bezogen auf das Array "lenguajesUsuarios" und das Objekt "objAux". –
Sie können diese Frage löschen, wenn Sie die Lösung innerhalb von 2 Minuten nach dem Hinzufügen ohne jemandes Hilfe gefunden haben –