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

259
Views
VueJS y Lodash: ¿Cómo obtener una matriz de objetos que solo contienen una cadena de clave determinada?

Estoy tratando de seleccionar algunos datos en un objeto que tiene una cadena _new adjunta.

Códigos y caja: https://codesandbox.io/s/vibrant-bardeen-77so1u?file=/src/components/Lodash.vue:0-353

Tengo algunos datos así:

data.json :

 [ { "localSnameID": 18040, "isoGeoPoliticalEntry_FK": 959368, "isoLocalShortName_FK": 953, "shortNameID": 953, "adminLanguage2Char": "fa", "adminLanguage3Char": "fas", "name": "Afghānistān", "iso6393Char3Code": "fas", "P_precedingItem_FK": -1, "entryType": 0 }, { "localSnameID": 18312, "isoGeoPoliticalEntry_FK": 959368, "isoLocalShortName_FK": 977, "shortNameID": 977, "P_precedingItem_FK": 4, "entryType": 2, "name": "Afghānistān", "name_new": "AfghānistānXYZ", "iso6393Char3Code": "pus", "iso6393Char3Code_new": "eng", "adminLanguage2Char": "ps", "adminLanguage2Char_new": "en", "adminLanguage3Char": "pus", "adminLanguage3Char_new": "eng" } ]

Usando lodash, pensé que haría algo como esto:

 <template> <div>{{ newProperties }}</div> </template> <script> import { omitBy } from "lodash"; import data from "../assets/data.json"; export default { data() { return { localShortNames: data, }; }, computed: { newProperties() { return omitBy(this.localShortNames, (v, k) => k.endsWith("_new")); }, }, }; </script>

El problema es que todavía se devuelve toda la matriz original de objetos. ¿Cómo puedo obtener una matriz de objetos que contengan la propiedad _new ? Si hay un mejor método lodash para usar en este caso, ¡avísame también!

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

0

Si te entendí correctamente, echa un vistazo al siguiente fragmento (sin lodash):

 new Vue({ el: '#demo', data() { return { localShortNames: [ {"localSnameID": 18040, "isoGeoPoliticalEntry_FK": 959368, "isoLocalShortName_FK": 953, "shortNameID": 953, "adminLanguage2Char": "fa", "adminLanguage3Char": "fas", "name": "Afghānistān", "iso6393Char3Code": "fas", "P_precedingItem_FK": -1, "entryType": 0}, {"localSnameID": 18312, "isoGeoPoliticalEntry_FK": 959368, "isoLocalShortName_FK": 977, "shortNameID": 977, "P_precedingItem_FK": 4, "entryType": 2, "name": "Afghānistān", "name_new": "AfghānistānXYZ", "iso6393Char3Code": "pus", "iso6393Char3Code_new": "eng", "adminLanguage2Char": "ps", "adminLanguage2Char_new": "en", "adminLanguage3Char": "pus", "adminLanguage3Char_new": "eng"} ] } }, computed: { newProperties() { const res = [] this.localShortNames.forEach(v => { const u = {} for(const prop in v) { if(prop.endsWith("_new")) u[prop]= v[prop] } if(Object.keys(u).length !== 0) res.push(u) }) return res }, }, })
 <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="demo"> <div>{{ newProperties }}</div> </div>

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!