Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

100
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda