Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

186
Views
Quiero verificar el nombre insertado en el objeto si se encuentra en la matriz, no se volverá a enviar, pero lo hizo de todos modos

este es el código html

 <body> <section> <h1>client profile informations</h1> <div class="madaro" v-on:click.right.prevent> <div> <input v-model="newstu" type="text"> <input v-model="newgpa" type="number" @keyup.enter="addio"> <button @click="addio" > submit</button> </div> <h1 v-for="grade in grades"> Student {{grade.name}} has final grade {{grade.gpa}} </h1> </div> </section>

el nuevo nombre se presiona cada vez que sea cual sea la condición

 <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script> <script> **the array** grades:[ { name:'pac', gpa:'4' }, { name:'ray', gpa:1.2 }, { name:'ssy', gpa:4.4 }, { name:'snri', gpa:3.5 }, { name:'safa', gpa:1.7 }, { name:'mohammed', gpa:5 }, { name:'mammt', gpa:4.1 } ], newgpa:'', newstu:'' }, *the function* methods:{ addio(){ if (this.grades.name === this.newstu) { console.log('hyhy'); } else { return this.grades.push({name:this.newstu , gpa:this.newgpa}); } **empty the input field** this.newstu ='' this.newgpa='' } } </script> </body>
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

addio() en realidad no está comprobando si la entrada ya existe en this.grades[] . Solo compara newstu (el nombre del estudiante recién ingresado) con this.grades.name , que no existe porque this.grades es un Array .

Una solución es usar Array.prototype.find() para buscar en this.grades[] una entrada coincidente. Cada devolución de llamada a find() recibe una entrada de matriz, que se puede usar para comparar la propiedad de name de la entrada con this.newstu . Si no se encuentra la entrada, find() devuelve undefined , por lo que puede usar la llamada en una declaración if :

 if (this.grades.find(grade => grade.name === this.newstu)) { // already exists...ignore } else { // new entry this.grades.push({ name: this.newstu, gpa: this.newgpa }) }
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!