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

127
Visualizações
empujar el elemento de la matriz al objeto como valor

Quiero cambiar una matriz a un objeto como este:

 array = ["blue" , "txt2" , "red" ,"txt4" , "txt5" , "txt6" ,"txt7" , "txt8" , "txt9" ] pages = {"page1" :["blue","txt2", "red"] , "page2" : ["txt4", "txt5", "txt6"], "page3" : ["txt7" ,"txt8", "txt9"]

Cada clave en el objeto de pages debe tener un valor de matriz con 3 elementos de matriz (la última clave puede tener menos), por lo que, por ejemplo, si una matriz tiene 110 elementos, tendremos 37 pages (página 1, página 2, ..., página 37) y la página 37 tendrá 1 elementos.

Entonces quiero poner cada 3 elementos en una matriz como valor de una clave en el objeto de las pages

Pero no se como hacerlo.. Gracias por tu ayuda

about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Puede hacerlo iterando sobre la array y extrayendo 3 elementos de la array en cada iteración utilizando el método de splice , como este:

 let array = ["blue" , "txt2" , "red" ,"txt4" , "txt5" , "txt6" ,"txt7" , "txt8" , "txt9", "text10" ] let pages= {}, i= 1; while(array.length > 0){ pages[`page${i++}`] = array.splice(0,3) } console.log(pages)

de esta manera, pierde los valores originales en la array , si desea mantener los elementos en la array sin modificar, puede hacer una copia de sus datos originales como let copiedArray = [...array] y luego llamar al método de empalme en la copiedArray y también verifique la length de copiedArray en el while .

about 4 years ago · Santiago Trujillo Relatório

0

Obtenga cada tercer índice y agregue todos los elementos desde ese punto hasta ese punto más tres (si ese índice está cerca del final, no dará error; solo agregará los elementos restantes):

 const initial = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']; let paginated = {}; let counter = 0 while (counter < initial.length) { paginated['page' + parseInt(counter / 3 + 1)] = initial.slice(counter, counter + 3); counter += 3; } console.log(paginated);

about 4 years ago · Santiago Trujillo Relatório

0

Para una solución más configurable, puede buscar una función de utilidad de chunk para la división inicial de la matriz de entrada y luego asignarla como desee a su objeto de resultado (aquí usando Object.fromEntries y mapeando sobre la matriz fragmentada resultante para asignar 'página' claves basadas en el índice).

 function chunk(arr, chunkSize) { const result = []; for (let i = 0; i < arr.length; i += chunkSize) { result.push(arr.slice(i, i + chunkSize)); } return result; } const array = ['blue', 'txt2', 'red', 'txt4', 'txt5', 'txt6', 'txt7', 'txt8', 'txt9']; const result = Object.fromEntries( chunk(array, 3).map((chunk, index) => [`page${index + 1}`, chunk]) ); console.log(result);

ver: Dividir matriz en fragmentos para discusión.

about 4 years ago · Santiago Trujillo 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