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

268
Visualizações
Javascript: Creating dictionary array using variables for keys and values

I am trying to create a dictionary from some lists using the .push() method.

The result I am trying to achieve is:

{
  "departTo": {
    1: 1.159,
    2: 4.156,
    3: 9.185,
    3: 10.158,
    4: 2.158
  },
  "departTo": {
    1: 2.586,
    2: 5.518,
    3: 11.584,
    3: 7.819,
    4: 3.991
  }
}

Below is a sample of code of what I am trying to do:

console.group("Running Script 1...");

var select_array = [];
var arrive_from, info

var selection_type = ["departTo", "arriveFrom"];
var data_lists_depart = [[1, 1.159], [2, 4.156], [3, 9.185], [4, 10.158], [5, 2.158]];
var data_lists_arrive = [[1, 2.586], [2, 5.518], [3, 11.584], [4, 7.819], [5, 3.991]];

selection_type.forEach(function (selection, i) {
    console.log("selection", i + ": ", selection);
    if (selection === "departTo") data_lists = data_lists_depart;
    else if (selection === "arriveFrom") data_lists = data_lists_arrive;
    data_lists.forEach(function (data_list, ii) {
        console.log("   data_list", ii + ": ", data_list);
        key = data_list[0];
        val = data_list[1];
        select_array.push({selection: {key: val}});
    })
})
console.log("select_array: ", select_array);

console.groupEnd("Running Script 1...");

The result I am getting from the above code is:

[
  {"selection": {"key": 1.159}}, 
  {"selection": {"key": 4.156}}, 
  {"selection": {"key": 9.185}}, 
  {"selection": {"key": 10.158}}, 
  {"selection": {"key": 2.158}}, 
  {"selection": {"key": 2.586}}, 
  {"selection": {"key": 5.518}}, 
  {"selection": {"key": 11.584}}, 
  {"selection": {"key": 7.819}}, 
  {"selection": {"key": 3.991}}
]

Any assistance in getting this into the format I need will be greatly appreciated. Thank you.

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

0

You can use Object.fromEntries with array#map to generate your result object.

const selection_type = ["departTo", "arriveFrom"],
      data_lists_depart = [[1, 1.159], [2, 4.156], [3, 9.185], [4, 10.158], [5, 2.158]],
      data_lists_arrive = [[1, 2.586], [2, 5.518], [3, 11.584], [4, 7.819], [5, 3.991]],
      values = [data_lists_depart, data_lists_arrive],
      result = Object.fromEntries(selection_type.map((name,i) => ([name, Object.fromEntries(values[i]) ])));
console.log(result);

about 4 years ago · Juan Pablo Isaza Relatório

0

The obvious solution

const departTo = [[1, 1.159], [2, 4.156], [3, 9.185], [4, 10.158], [5, 2.158]];
const arriveFrom = [[1, 2.586], [2, 5.518], [3, 11.584], [4, 7.819], [5, 3.991]];
const result = { 
  departTo: Object.fromEntries(departTo), 
  arriveFrom: Object.fromEntries(arriveFrom) 
};

console.log(result);
.as-console-wrapper{min-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