¿Puede alguien ayudarme con esto? Necesito una función que, dado un fieldID de campo, busque dentro de los objects y devuelva el objectID de objeto en el que se encuentra el fieldID de campo.
const objects = [ { objectID: 11, fields: [ { id: 12, name: 'Source ID' }, { id: 12, name: 'Source ID' }, ], }, {objectID: 14, fields: [ { id: 15, name: 'Creator' }, ],}, {objectID: 16, fields: [ { id: 17, name: 'Type' }, { id: 18, name: 'Name' }, { id: 19, name: 'Description' }, ],}, ];RESUELTO: Lo tengo funcionando así:
const getObjectID = fieldId => { for (const object of objects) { if (object.fields.find(field => field.id === fieldId)) { return object.objectID; } } };Esto funcionará:
const getObjectId = (fieldID) => { const object = objects.find(object => object.fields.find(field => field.id === fieldID )!== undefined) if(object) return object.objectID; return null }Usando el método de find de matriz:
const objects = [ { objectId: 1, fields: ["aaa"] }, { objectId: 2, fields: ["bbb"] }, { objectId: 3, fields: ["ccc"] }, ]; const getObjectId = (id) => objects.find(object.objectId === id); console.log(getObjectId(2)); // { objectId: 2, fields: ["bbb"] }Lea más aquí: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find