groupsCall(callType, params) { let url = `/....../`, errorMessage = `could not load the items`; url = callType === "get" ? url + "selected_groups" : url + "update_groups"; axiosConfig[callType](url, params) .then((response) => { const data = response.data; console.log("hittttt", data.groups_with_selected); let tmp = data.groups_with_selected[1]; data.groups_with_selected[1] = data.groups_with_selected[6]; data.groups_with_selected[6] = tmp; if (isObject(data)) { this.setGroupsData(data); this.getTotalCount(); errorMessage = ""; this.setUpdating(data); } this.errorMessage = errorMessage; }) .catch((error) => { errorMessage = `${errorMessage}. ${error}`; this.errorMessage = errorMessage; this.updating = false; }); },¿Cómo cambiar la posición del elemento de matriz sin intercambiar en Vuejs?
He usado la lógica a continuación para intercambiar elementos, donde con el código a continuación. 6ª posición cambiada a 1ª posición. y la primera posición se intercambia con la sexta posición.
let tmp = data.groups_with_selected[1]; data.groups_with_selected[1] = data.groups_with_selected[6]; data.groups_with_selected[6] = tmp;Pero el problema aquí es que solo quiero cambiar la posición del elemento de matriz. Pero sin permutas. ¿Cómo puedo proceder? No estoy seguro, lo intenté con mucha lógica.
Supongo que el código está bien, pero necesita ajustes:
arr.splice(index, 1)arr.splice(index, 0, tmp)Consulte JS Splice
groupsCall(callType, params) { let url = `/api/v3/campaigns/${this.campaignId}/`, errorMessage = `could not load the filters`; url = callType === "get" ? url + "selected_groups" : url + "update_groups"; axiosConfig[callType](url, params) .then((response) => { const data = response.data; console.log("hittttt", data.groups_with_selected); let tmp = data.groups_with_selected[6]; // Remove the 6th position data.groups_with_selected.splice(6, 1) // Insert tmp data.groups_with_selected.splice(1, 0, tmp) // This code is not needed // data.groups_with_selected[6] = tmp; if (isObject(data)) { this.setGroupsData(data); this.getTotalCount(); errorMessage = ""; this.setUpdating(data); } this.errorMessage = errorMessage; }) .catch((error) => { errorMessage = `${errorMessage}. ${error}`; this.errorMessage = errorMessage; this.updating = false; }); },Si desea colocar el último elemento en la parte superior de la matriz, siga el siguiente enfoque
Suponga que su matriz es la siguiente
arr=[6,1,2,3,4,5];entonces puedes hacer algo como
arr.unshift(arr[arr.length-1]); arr.splice(arr.length-1);