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

145
Visualizações
Cómo verificar que exista la misma propiedad en una sola matriz de objetos javascript

Me gustaría saber si la matriz de objetos tiene el mismo valor de propiedad en javascript

para el objeto de matriz list1 ,

if name and country has same value, return true

if name same, any object country has value SG return true

if above two conditions fails, return false

 var list1=[ {id:1, name: "sen", country: "IN"}, {id:2, name: "sen", country: "IN"} ] const result1=checkObj(list1); var list2=[ {id:1, name: "sen", country: "IN"}, {id:2, name: "sen", country: "SG"} ] const result2=checkObj(list2); var list3=[ {id:1, name: "sen", country: "IN"}, {id:2, name: "sen", country: "TH"} ] const result3=checkObj(list3); Expected Result: //when passing list1 true //when passing list2 true //when passing list3 false
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Prueba esto,

 var list1=[ {id:1, name: "sen", country: "IN"}, {id:2, name: "sen", country: "IN"} ] const result1=checkObj(list1); console.log(result1); var list2=[ {id:1, name: "sen", country: "IN"}, {id:2, name: "sen", country: "SG"} ] const result2=checkObj(list2); console.log(result2); var list3=[ {id:1, name: "sen", country: "IN"}, {id:2, name: "sen", country: "TH"} ] const result3=checkObj(list3); console.log(result3); function checkObj(list){ for(i=0;i<list.length;i++) { for(j=0;j<list.length;j++) { if(j!=i){ if(list[i].name==list[j].name){ if(list[i].country==list[j].country || list[i].country =='SG'){ return true; } } } } } return false; }

about 4 years ago · Juan Pablo Isaza Relatório

0

En el siguiente fragmento, armé un enfoque basado en un solo ciclo sobre todos los elementos de una matriz. Las ocurrencias de combinaciones de name / country se recopilan en un objeto local o y se verifican al final de la función.

 const data=[[ {id:1, name: "sen", country: "IN"}, {id:2, name: "sen", country: "IN"} ],[ {id:1, name: "sen", country: "IN"}, {id:2, name: "sen", country: "SG"}, {id:1, name: "sen", country: "DN"}, {id:1, name: "sen", country: "EN"} ],[ {id:1, name: "sen", country: "IN"}, {id:2, name: "sen", country: "TH"} ]]; function dupes(arr){ const o={}, // object o counts all occurrences // the sort makes sure the "SG" items come last in ar ar= arr.slice(0).sort((a,b)=>a.country==="SG" ? (b.country==="SG" ? 0 : 1) : -1); // a single loop over ar: ar.forEach(e=>{ if(e.country!=="SG"){ // "normal" countries: let k=e.name+"|"+e.country; o[k]=(o[k]||0)+1 } else { // for country=="SG" for (let k in o) if (k.indexOf(e.name+"|")==0) o[k]++ // increase counts for all elements starting with <el.name>| } }); return Object.values(o).some(n=>n>1) } data.forEach(d=>console.log(dupes(d)))

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