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

136
Visualizações
How to conbine array to object in an array in javascript

I got two array here:

let arr1 = [
  {
    sockets: 0,
    implicitMods: [
      '+2 to Level of Socketed AoE Gems',
      '+2 to Level of Socketed Trap or Mine Gems'
    ],
    explicitMods: [], // arr2[0] in here
  },
  {
    sockets: 3,
    implicitMods: [ 'Secrets of Suffering' ],
    explicitMods: [], // arr2[1] in here
  }
]

let arr2 = [
  [
    [ 'explicit.stat_2866361420' ],
    [ 'explicit.stat_1978899297' ],
    [ 'explicit.stat_2290031712' ],
    [ 'explicit.stat_4294267596' ]
  ],
  [
    [ 'explicit.stat_2974417149' ],
    [ 'explicit.stat_3556824919' ],
    [ 'explicit.stat_789117908' ],
    [ 'explicit.stat_124131830' ],
    [ 'explicit.stat_1600707273' ],
    [ 'explicit.stat_3742945352' ]
  ]
]

i want put arr2[0] to arr1's first explicitMods and arr2[1] to arr1's second explicitMods, how i can get object order in array (e.g.arr1[0]==={first object}, arr1[1]==={second object})? and how to achieve my goal?

i tried to use

arr1.map(el=>el.explicitMods = arr2)

and result is explicitMods: [[Array], [Array]]

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

0

You may try to create two for loops like this:

//For loop that starts from 0 to the length of the input array(arr2)
for(let i=0; i<arr2.length; i++){
//Save the expMods in i position temporally
    let expMods = arr1[i].explicitMods;
    //Make a loop for the first element of the arr2 which is also an array
    for(let j=0; j<arr2[i].length; j++){
    //Get the arr2 at current i pos and push into expMods the arr2[i][j]
       let temp = arr2[i];
       expMods.push(temp[j]);
    }
}

I've tested into the console and it worked, let me know

about 4 years ago · Santiago Trujillo Relatório

0

const arr1 = [
  {
    sockets: 0,
    implicitMods: [
      '+2 to Level of Socketed AoE Gems',
      '+2 to Level of Socketed Trap or Mine Gems'
    ],
    explicitMods: [], // arr2[0] in here
  },
  {
    sockets: 3,
    implicitMods: [ 'Secrets of Suffering' ],
    explicitMods: [], // arr2[1] in here
  }
]

const arr2 = [
  [
    [ 'explicit.stat_2866361420' ],
    [ 'explicit.stat_1978899297' ],
    [ 'explicit.stat_2290031712' ],
    [ 'explicit.stat_4294267596' ]
  ],
  [
    [ 'explicit.stat_2974417149' ],
    [ 'explicit.stat_3556824919' ],
    [ 'explicit.stat_789117908' ],
    [ 'explicit.stat_124131830' ],
    [ 'explicit.stat_1600707273' ],
    [ 'explicit.stat_3742945352' ]
  ]
];

for (let i = 0; i < arr1.length; i++) {
  const item1 = arr1[i];
  const item2 = arr2[i];
  //item1.explicitMods.push(...item2);
  item1.explicitMods.push(...item2.flat());
}

console.log(arr1);

about 4 years ago · Santiago Trujillo Relatório

0

You could use map(), grab the index and use it to add the corresponding value.

let arr1 = [{ sockets: 0, implicitMods: ['+2 to Level of Socketed AoE Gems', '+2 to Level of Socketed Trap or Mine Gems'], explicitMods: [], }, { sockets: 3, implicitMods: ['Secrets of Suffering'], explicitMods: [], }];
let arr2 = [[['explicit.stat_2866361420'], ['explicit.stat_1978899297'], ['explicit.stat_2290031712'], ['explicit.stat_4294267596']], [['explicit.stat_2974417149'], ['explicit.stat_3556824919'], ['explicit.stat_789117908'], ['explicit.stat_124131830'], ['explicit.stat_1600707273'], ['explicit.stat_3742945352']]];

const result = arr1.map((v, i) => {
  return {
    ...v,
    explicitMods: arr2[i]
  }
});

console.log(result);

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