Tengo 4 tipos de estado de documentos: En preparación, Para aprobación, Aprobado, Rechazado. Además, este código tiene una casilla de verificación, por eso la matriz se llama 'selectedPurhcaseRequests'. Entonces, el código es cada vez que marco una casilla de verificación, obtiene sus datos y los empuja a la matriz 'selectedPurchaseRequests'. Y dentro de esos datos, tiene un estado de documento. Entonces, quiero tener un ciclo for para verificar el estado del documento de todas las solicitudes de compra.
for(let i = 0; i < this.selectedPurchaseRequests.length; i++) { if(this.selectedPurchaseRequests[i].docStatus !== 'In Preparation') { continue; } else { fetch(`url`, { method: 'PUT', headers: { 'Content-Type': 'application/json' } }) } }Ahora, quiero alertar un mensaje con un resumen de esos números de solicitud de compra con un estado diferente a 'En preparación'. Pero quiero que avise una vez cuando la matriz 'selectedPurchaseRequests' termine de repetirse. Porque si alerta varias veces, el usuario necesitará mucho tiempo y esfuerzo para presionar Aceptar.
¿Alguien me puede ayudar?
Demostración de trabajo:
new Vue({ el: '#app', data() { return { selectedPurchaseRequests: [{ number: 1, summary: 'Aplha', docStatus: 'Approved' }, { number: 2, summary: 'Beta', docStatus: 'In Preparation' }, { number: 3, summary: 'Gama', docStatus: 'Rejected' }], notEqualInPrep: [] } }, mounted: function() { this.selectedPurchaseRequests.forEach((request) => { if (request.docStatus !== 'In Preparation') { this.notEqualInPrep.push(`${request.number}-${request.summary}-${request.docStatus}`); } }); alert(this.notEqualInPrep.toString()) } }) <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="app"> </div>Ciertamente tiene algunas otras propiedades para identificar cada solicitud de compra seleccionada... Como en el siguiente ejemplo, un number y/o una description :
let requestStatuses = []; for(let i = 0; i < this.selectedPurchaseRequests.length; i++) { requestStatuses.push({ number: this.selectedPurchaseRequests[i].number, description: this.selectedPurchaseRequests[i].description, status: this.selectedPurchaseRequests[i].docStatus }) if(this.selectedPurchaseRequests[i].docStatus !== 'In Preparation') { continue; } else { fetch(`url`, { method: 'PUT', headers: { 'Content-Type': 'application/json' } }) } } console.log(requestStatuses) // do something with that array