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

111
Visualizações
Transforme la matriz de objetos JSON para usar el grupo de opciones select2 más simple

Quiero usar el complemento select2 con el uso de templateResult y tiene un grupo de opciones en él, en la documentación dice que debemos seguir la matriz de patrones del objeto para que funcione. Ya estoy haciendo el patrón como se debe dar y el resultado del patrón es como quiero, pero para transformarlo en el resultado final, tomé muchos pasos. Cómo hacerlo más simple, hasta ahora en este código está bien, pero siento que muchos lo pisan para transformarme en lo que quiero.

Nota: la variable x es el resultado de la base de datos.

 let x = [ {id_cp: 1, nama: 'Bank BJB', jenis: 'TB', path_gambar: '/assets/images/partners/bjb.png'}, {id_cp: 2, nama: 'Bank BJB Giro Payment', jenis: 'GI', path_gambar: '/assets/images/partners/bjb.png'}, {id_cp: 3, nama: 'CR Kantor Pusat', jenis: 'TN', path_gambar: '/assets/images/partners/tunai.png'}, {id_cp: 4, nama: 'Bank BSI', jenis: 'TB', path_gambar: '/assets/images/partners/bsi.png'}, {id_cp: 5, nama: 'Bank BRI', jenis: 'TB', path_gambar: '/assets/images/partners/bri.png'}, {id_cp: 6, nama: 'Dana', jenis: 'EW', path_gambar: '/assets/images/partners/dana.png'}, {id_cp: 7, nama: 'GoPay', jenis: 'EW', path_gambar: '/assets/images/partners/gopay.png'}, {id_cp: 8, nama: 'Bank BRI', jenis: 'QR', path_gambar: '/assets/images/partners/qris.png'} ]; function selectLabel(arr) { arr = arr.map(function (elments) { return { id: elments.id_cp, text: elments.nama, jenis: elments.jenis, path_gambar: elments.path_gambar }; }); const outputGrouped = Object.values(arr.reduce((accu, {jenis, ...rest}) => { if(!accu[jenis]) { accu[jenis] = {jenis, children: []}; } accu[jenis].children.push(rest); return accu; }, {})); // console.log(outputGrouped); const transformed = outputGrouped.map(({ jenis, children }) => ({ text: jenis, children: children })); // console.log(transformed); return transformed; } console.log(selectLabel(x));

Entonces, ¿cómo transformar los datos de la variable x de manera más simple a partir de ese código con el mismo resultado, porque tomé 3 pasos del código de bloque?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Podrías cambiar el nombre en un paso directo.

 let x = [ {id_cp: 1, nama: 'Bank BJB', jenis: 'TB', path_gambar: '/assets/images/partners/bjb.png'}, {id_cp: 2, nama: 'Bank BJB Giro Payment', jenis: 'GI', path_gambar: '/assets/images/partners/bjb.png'}, {id_cp: 3, nama: 'CR Kantor Pusat', jenis: 'TN', path_gambar: '/assets/images/partners/tunai.png'}, {id_cp: 4, nama: 'Bank BSI', jenis: 'TB', path_gambar: '/assets/images/partners/bsi.png'}, {id_cp: 5, nama: 'Bank BRI', jenis: 'TB', path_gambar: '/assets/images/partners/bri.png'}, {id_cp: 6, nama: 'Dana', jenis: 'EW', path_gambar: '/assets/images/partners/dana.png'}, {id_cp: 7, nama: 'GoPay', jenis: 'EW', path_gambar: '/assets/images/partners/gopay.png'}, {id_cp: 8, nama: 'Bank BRI', jenis: 'QR', path_gambar: '/assets/images/partners/qris.png'} ]; function selectLabel(array) { return Object.values(array.reduce((accu, { id_cp: id, jenis: text, nama, path_gambar }) => { (accu[text] ??= { text, children: [] }).children.push({ id, text: nama, path_gambar }); return accu; }, {})); } console.log(selectLabel(x));
 .as-console-wrapper { max-height: 100% !important; top: 0; }

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