Нужно пройти через массив объектов с javascript - PullRequest
1 голос
/ 05 августа 2020

Мне нужна помощь с этим фрагментом, я до сих пор написал этот код:

const parqueAutomotor = [];

parqueAutomotor[0] = {Marca: "Peugeot",
                      Modelo: "206",
                      Puertas: 4,
                      Precio: "$200.000,00"},

parqueAutomotor[1] =    {Marca: "Honda",
                        Modelo: "Titan",
                        Cilindrada: "125c",
                        Precio: "$60.000,00"},

parqueAutomotor[2] =   {Marca: "Peugeot", 
                        Modelo: "208", 
                        Puertas: 5, 
                        Precio: "$250.000,00"},

parqueAutomotor[3] =   {Marca: "Yamaha",
                        Modelo: "YBR",
                        Cilindrada: "160c",
                        Precio: "$80.500,50"
                        };


var i, item;

for (i = 0; i < parqueAutomotor.length; i++) {
    for (item in parqueAutomotor[i]) {
    console.log(item + ": " + parqueAutomotor[i][item] + " // ");
    }
}

Меня попросили отобразить в консоли следующий вывод:

Marca: Peugeot // Modelo: 206 // Puertas: 4 // Precio: $200.000,00
Marca: Honda // Modelo: Titan // Cilindrada: 125c // Precio: $60.000,00
Marca: Peugeot // Modelo: 208 // Puertas: 5 // Precio: $250.000,00
Marca: Yamaha // Modelo: YBR // Cilindrada: 160c // Precio: $80.500,50

Вместо этого я get:

Marca: Peugeot // 
Modelo: 206 // 
Puertas: 4 // 
Precio: $200.000,00 // 
Marca: Honda // 
Modelo: Titan // 
Cilindrada: 125c // 
Precio: $60.000,00 // 
Marca: Peugeot // 
Modelo: 208 // 
Puertas: 5 // 
Precio: $250.000,00 // 
Marca: Yamaha // 
Modelo: YBR // 
Cilindrada: 160c // 
Precio: $80.500,50 // 

Как вы предлагаете это исправить?

Мне нужно уважать предоставленный мне формат, спасибо!

Ответы [ 3 ]

1 голос
/ 05 августа 2020

Сохранять каждую строку в переменной. Двойные косые черты «//» следует добавлять только перед каждой записью в качестве разделителя из машины, если это не начало строки, поэтому я могу предотвратить разделитель в начале и в конце каждой строки. После построения строки просто распечатайте ее на консоли.

const parqueAutomotor = [];

parqueAutomotor[0] = {Marca: "Peugeot",
                      Modelo: "206",
                      Puertas: 4,
                      Precio: "$200.000,00"},

parqueAutomotor[1] =    {Marca: "Honda",
                        Modelo: "Titan",
                        Cilindrada: "125c",
                        Precio: "$60.000,00"},

parqueAutomotor[2] =   {Marca: "Peugeot", 
                        Modelo: "208", 
                        Puertas: 5, 
                        Precio: "$250.000,00"},

parqueAutomotor[3] =   {Marca: "Yamaha",
                        Modelo: "YBR",
                        Cilindrada: "160c",
                        Precio: "$80.500,50"
                        };


var i, item;

for (i = 0; i < parqueAutomotor.length; i++) {
    let row ="";
    let startRow = true;
    for (item in parqueAutomotor[i]) {
        if (!startRow)
            row += " // ";
        else
            startRow = false;
        row += item + ": " + parqueAutomotor[i][item];
    }
    console.log(row);
}
1 голос
/ 05 августа 2020

Вы можете использовать Array.forEach для итерации по массиву, используя Object.entries, чтобы получить список пар ключ / значение и сопоставить каждую из них со строкой, затем вывод окончательной строки с использованием Array.join:

const parqueAutomotor = [];

parqueAutomotor[0] = {
    Marca: "Peugeot",
    Modelo: "206",
    Puertas: 4,
    Precio: "$200.000,00"
  },

  parqueAutomotor[1] = {
    Marca: "Honda",
    Modelo: "Titan",
    Cilindrada: "125c",
    Precio: "$60.000,00"
  },

  parqueAutomotor[2] = {
    Marca: "Peugeot",
    Modelo: "208",
    Puertas: 5,
    Precio: "$250.000,00"
  },

  parqueAutomotor[3] = {
    Marca: "Yamaha",
    Modelo: "YBR",
    Cilindrada: "160c",
    Precio: "$80.500,50"
  };


parqueAutomotor.forEach(o => console.log(Object.entries(o).map(a => `${a[0]}: ${a[1]}`).join(' // ')));
0 голосов
/ 05 августа 2020

Поскольку каждый console.log () выводит строку, вам нужно сначала построить строку и распечатать сразу всю строку.

const parqueAutomotor = [];

parqueAutomotor[0] = {
    Marca: "Peugeot",
    Modelo: "206",
    Puertas: 4,
    Precio: "$200.000,00"
  },

  parqueAutomotor[1] = {
    Marca: "Honda",
    Modelo: "Titan",
    Cilindrada: "125c",
    Precio: "$60.000,00"
  },

  parqueAutomotor[2] = {
    Marca: "Peugeot",
    Modelo: "208",
    Puertas: 5,
    Precio: "$250.000,00"
  },

  parqueAutomotor[3] = {
    Marca: "Yamaha",
    Modelo: "YBR",
    Cilindrada: "160c",
    Precio: "$80.500,50"
  };


var i, item;

for (i = 0; i < parqueAutomotor.length; i++) {
  let row = "";
  for (item in parqueAutomotor[i]) {
    row += item + ": " + parqueAutomotor[i][item] + " // ";
  }
  console.log(row)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...