Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

233
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda