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

98
Views
Compare array of object with an array

I have a request

const request=additionalFields: [
    { field: 'PHONE', required: true },  
    { field: 'COMPANY', required: true },
    { field: 'MOBILE', required: true }, 
    { field: 'COUNTRY', required: true } 
  ]

the response i am getting is this

"additionalFields":
{
    'PHONE':true,
    'COMPANY':true,
    'MOBILE':true,
    'COUNTRY':true
}

i am not sure how to compare them. i kind of wrote something but even to me it looks wrong

const fields = request["additionalFields"];
    
    for (let i = 0, len = fields.length; i < len; i++) {
      expect(request.additionalFields[i].required).to.eql(
        response.additionalFields
      );
about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Here's another way. Just filter out anything that doesn't match up, then you'll have an array of differences if there are any.

const request={
additionalFields: [
    { field: 'PHONE', required: true },  
    { field: 'COMPANY', required: true },
    { field: 'MOBILE', required: true }, 
    { field: 'COUNTRY', required: true } 
  ]
 }

const incoming = {
  "additionalFields": {
    'PHONE': true,
    'COMPANY': true,
    'MOBILE': false,
    'COUNTRY': true
  }
}

let differences = request.additionalFields.filter(f => incoming.additionalFields[f.field] !== f.required)
console.log(differences)

about 4 years ago · Juan Pablo Isaza Report

0

You can use the for...of syntax to do this.

Here's the documentation.

const request = {
  additionalFields: [
    { field: 'PHONE', required: true },  
    { field: 'COMPANY', required: true },
    { field: 'MOBILE', required: true }, 
    { field: 'COUNTRY', required: true } 
  ]
};

const response = {
  additionalFields: {
    PHONE:true,
    COMPANY:true,
    MOBILE: true,
    COUNTRY:true
  }
}

const requestFields = request['additionalFields'];
const responseFields = response['additionalFields'];

for(const { required, field } of requestFields) {
    expect(required).to.eql(responseFields[field]);
}

about 4 years ago · Juan Pablo Isaza Report

0

    const request = [
        { field: 'PHONE', required: true },  
        { field: 'COMPANY', required: true },
        { field: 'MOBILE', required: true }, 
        { field: 'COUNTRY', required: true } 
      ]

    const response = {"additionalFields":
    {
        'PHONE':true,
        'COMPANY':true,
        'MOBILE':true,
        'COUNTRY':true
    }}
    
    for (const [key, value] of Object.entries(response['additionalFields'])) {
       const {required, field} = request.find(({field}) => key === field);
        if(required === value) {  // here you can compare
            console.log(key, field, value);  
        }
    }

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!