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

232
Views
¿Cómo numerar elementos de matriz específicos si cumplen una condición específica en Vue JS?

Digamos que tengo una serie de objetos como los siguientes en mi estado vue:

 [ {name: "Daniel", default: false}, {name: "Ross", default: true}, {name: "Rachel", default: false}, {name: "Joey", default: false} {name: "Monica", default: true} {name: "Gunther", default: true} ]

En mi página web, todos estos nombres ya se muestran en una lista. Lo que quiero mostrar en mi página web es como a continuación:

  • Daniel
  • Ross - Predeterminado 1
  • Raquel
  • joey
  • Mónica - Predeterminado 2
  • Gunther - Predeterminado 3

Del ejemplo anterior, creo que está bastante claro lo que quiero lograr. ¿Cuál es la forma más sencilla de lograr esto en vue?

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Intente usar la propiedad computed . Verifique el fragmento de código a continuación

 var app = new Vue({ el: '#app', data() { return { list: [ {name: "Daniel", default: false}, {name: "Ross", default: true}, {name: "Rachel", default: false}, {name: "Joey", default: false}, {name: "Monica", default: true}, {name: "Gunther", default: true}, ] }; }, computed: { getList() { let index = 1; return this.list.map(item => { return item.default ? `${item.name} - Default ${index++}` : `${item.name}`; }); } } })
 <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="app"> <template> <ul> <li v-for="(item, index) in getList" :key="index"> {{item}} </li> </ul> </template> </div>

about 4 years ago · Juan Pablo Isaza Report

0

Puedes probar esto:

 let defaultCount = 0; const data = [ { name: "Daniel", default: false }, { name: "Ross", default: true }, { name: "Rachel", default: false }, { name: "Joey", default: false }, { name: "Monica", default: true }, { name: "Gunther", default: true }, ].map((el) => { if (el.default) { defaultCount++; return { ...el, defCount: defaultCount, }; } else { return { ...el, defCount: null, }; } }); console.log(data);

 <li v-for="(item) in array" :key="item.name"> {{`${item.name}${item.defCount? ` - Default ${item.defCount}`:''}`}} </li>
about 4 years ago · Juan Pablo Isaza Report

0

Puede usar Array.map para iterar sobre todos los elementos de la matriz y generar el resultado deseado

 const data = [ { name: "Daniel" , default: false }, { name: "Ross" , default: true }, { name: "Rachel" , default: false }, { name: "Joey" , default: false }, { name: "Monica" , default: true }, { name: "Gunther", default: true } ]; let defaultCount = 0; const res = data.map(item => `${item.name}${item.default? ` default ${++defaultCount}`:''}`) console.log(res)

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!