Tengo 2 matrices. El uno contiene el nombre de todas las claves de la segunda matriz como la siguiente.
const additionalFields = ['phoneNumbers', 'ageOrDobs', 'genders', 'usernames', 'employments', 'educations', 'websites', 'affiliatedOrganizations']; const fields= [{ affiliatedOrganizations: [] ageOrDobs: [] educations: [] emails: [{…}] employments: [] genders: [] locations: [{…}] names: [{…}] phoneNumbers: [] usernames: [] websites: [] }] Ahora, quiero recorrer los campos additionalFields en función del valor que recibo. Quiero verificar si la clave de los fields tiene una longitud superior a 0. Por ejemplo, fields.phonenNumbers.length > 0 , pero los números telefónicos clave phoneNumbers del bucle.
additionalFields.map((opts) => { if(fields.opts.length > 0){ //this one doesn't work... //do something } }Estoy usando mecanografiado y los campos tienen una interfaz relacionada con los valores que contiene, como se muestra arriba. Por favor, ayúdenme con esto... ¡gracias!
Simplemente use la notación de soporte :
additionalFields.map((opts) => { if(fields[opts].length > 0){ //this one doesn't work... //do something } }Ejemplo:
const person = { firstname: 'John', lastname: 'Doe' } const key = "firstname" console.log(person[key]) // John