Iam a student in development so I’m a beginner.
(javascript) In a function, I want to use a variable that is declared in another function.
In my case, array “recruiters” is not defined in extractOwner when I do my reduce. Recruiters is created in the function “formatSearchByOwner”
So how can I use the variable in extractOwner ?
async extractOwner (opts, recruiters) {
const extractUser = await this.extractUserList(opts)
console.log('extractUser', await extractUser)
// console.log('Recruteurs', recruiters)
const owners = Object.values(recruiters).reduce((acc, current) => {
// console.log('Owner current', current[0].recruiter.docs[0].owners)
const owners = current[0].conciliation?.recruiter.docs[0].owners || current[0].recruiter.docs[0].owners
// console.log('Owners', owners)
const recruiter = current[0].conciliation?.recruiter.docs[0] || current[0].recruiter.docs[0]
// console.log('Recruteur', recruiter)
owners.forEach( owner => {
if (acc[owner]) {
acc[owner].push({ [recruiter.company]: recruiters[recruiter.company] })
} else {
acc[owner] = [{ [recruiter.company]: recruiters[recruiter.company] }]
}
})
return acc
}, {})
return owners
}
async formatSearchByOwner (searches) {
const recruiters = searches.reduce((acc, current) => {
// console.log('Current recruiter', current.recruiter)
if (acc[current.recruiter.docs[0].company]) {
acc[current.recruiter.docs[0].company].push(current)
} else {
acc[current.recruiter.docs[0].company] = [current]
}
return acc
}, {})
// console.log('Search', searches)
// console.log('Recruteurs', recruiters)
return await this.extractOwner(recruiters)
}```
I added a return of (recruiters) but didn't work
New contributor
Olivier is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.