Как напечатать ключ и значение массива объектов

avatar
codejs
8 августа 2021 в 19:05
658
2
1

У меня есть массив объектов. Можно ли распечатать значения ключей с помощью метода array.map?

<div> +
array.map( x => {
return `<span class="key">"value"</span><br>
}) +
</div>
Источник
Amini
8 августа 2021 в 19:10
1

Почему бы не использовать entries(), keys() и values()?

Andy Ray
8 августа 2021 в 19:11
0

Вы имеете в виду каждый ключ и каждое значение объекта?

Ответы (2)

avatar
Drag13
8 августа 2021 в 19:09
0

Попробуйте что-то вроде этого:

const array = [{
  key: '1',
  value: 'value-1'
}, {
  key: '2',
  value: 'value-2'
}];
const text = array.map(x => `<span class="${x.key}">${x.value}</span><br>`).join("");
const element = document.querySelector('#log');
element.innerHTML = text;
<div id="log"></div>
Amini
8 августа 2021 в 19:12
0

wdym на «Если у ваших объектов есть ключ и значение»? Разве объекты не имеют значение ключа по умолчанию?

Drag13
8 августа 2021 в 19:15
0

Объекты могут быть пустыми, могут иметь только ключ, что угодно. Или я не правильно понял вопрос.

Drag13
8 августа 2021 в 19:16
0

@AmirrezaAmini, если вы хотите перебирать объект, например, через словарь, тогда Object.entries должен быть правильным выбором

Amini
8 августа 2021 в 19:20
0

Да, я думаю, вы неправильно поняли это. У него определенно есть записи. Несмотря на то, что я сказал ему, он может использовать записи, ключи и значения.

Drag13
8 августа 2021 в 19:23
0

Завтра проверю, на всякий случай удалю ответ :)

avatar
Ikdemm
8 августа 2021 в 19:14
1

Попробуйте сопоставить Object.keys() каждого объекта в массиве таким образом

<div>
  array.map( obj => {
    return obj.keys().map( key => {
      return `<span class="${key}">${obj[key]}</span><br>`
    )}
  })
</div>