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

166
Views
searching multiple values in string array in javascript/react

I have many values in string array. ['A','B','C','D','E'].

I have to search like this. if Array contains A ,B then it is admin. if it contains C,E then it is resercher. if it is containing B,C,D then it is manager.

I am writing below code for it. its not working. can you please help me on same.

 const groups = ['A','B','C','D','E']


for (let i = 0; i < groups.length; i++) {
    if (groups[i]==='A'&&  groups[i] ==='B'  ) setAdmin(true);
    if (groups[i]==='C' && groups[i] ==='E'   ) setResearcher(true);
    if (groups[i]==='B' && groups[i] ==='C' && groups[i] ==='D' ) setRiskMgr(true);

}

I know it is not working because it is comparing element with multiple values. How can I resolve this?

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

0

You can use every and includes to utilize your logic

const groups = ['A', 'B', 'C', 'D', 'E']

const userGroups = {
  admin: ['A', 'B'],
  researcher: ['C', 'E'],
  riskManager: ['B', 'C', 'D']
}

function setAdmin() {
  console.log('admin')
}

function setResearcher() {
  console.log('researcher')
}

function setRiskMgr() {
  console.log('risk manager')
}


if (userGroups.admin.every(group => groups.includes(group))) setAdmin(true);
if (userGroups.researcher.every(group => groups.includes(group))) setResearcher(true);
if (userGroups.riskManager.every(group => groups.includes(group))) setRiskMgr(true);

Less repeated code with a separate object for role checks

const groups = ['A', 'B', 'C', 'D', 'E']

const userGroups = {
  admin: {
    values: ['A', 'B'],
    set: function() {
      setAdmin(true)
    }
  },
  researcher: {
    values: ['C', 'E'],
    set: function() {
      setResearcher(true)
    }
  },
  riskManager: {
    values: ['B', 'C', 'D'],
    set: function() {
       setRiskMgr(true);
    }
  }
}

function setAdmin() {
  console.log('admin')
}

function setResearcher() {
  console.log('researcher')
}

function setRiskMgr() {
  console.log('risk manager')
}

for(const key in userGroups) {
  if(userGroups[key].values.every(group => groups.includes(group))) {
    userGroups[key].set();
  }
}

about 4 years ago · Juan Pablo Isaza Report

0

As @ChrisG mentioned, you can use Array.includes or Array.some instead.

const groups = ['A','B','C','D','E']

if (groups.some(group => ['A', 'B'].includes(group))) {
  setAdmin(true);
} else if (...) {
...
}
about 4 years ago · Juan Pablo Isaza Report

0

Its quite a simple solution with Array.includes

 const groups = ['A','B','C','D','E']

 if(groups.includes('A') && groups.includes('B')) {
    setAdmin(true);
 } else if(groups.includes('C') && groups.includes('E')) {
   setReasercher(true)
 } // ...
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!