Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Получить все значения javascript обьекта! (https://javascript.ru/forum/misc/67950-poluchit-vse-znacheniya-javascript-obekta.html)

imult87 16.03.2017 19:51

Получить все значения javascript обьекта!
 
Вот у меня есть к примеру код:
var inventory = {};
inventory.coin1 = "<b>1 Рубль 1890 года</b>";
inventory.coin2 = "<b>2 Рубля 1890 года</b>";
inventory.coin3 = "<b>3 копейки 1890 года</b>";
inventory.coin5 = "<b>5 Рублей 1890 года</b>";


inventory - добавляю в обьект 4 позиции, мне нужно следующее получить и вывести все эти позиции к примеру в div блок c id='inv', получить нужно именно сами значения. Как поштучно вывести я знаю, в цикле выводит только последние значение, а как сделать так что бы разом вывести все в div блок, я постепенно буду наполнять этот обьект, и всегда нужно что бы выводилось все в блок на страницу, что бы я видел все элементы обьекта. К примеру после пополнения блок должен выглядеть так!
<div id='inv'>
<b>1 Рубль 1890 года</b>
<b>2 Рубля 1890 года</b>
<b>3 копейки 1890 года</b>
<b>5 Рублей 1890 года</b>
</div>

Это как бы инвентарь, и туда будет все падать я даже не знаю правильный ли я выбрал подход для данной задачи! Помогите разобраться пожалуйста, я новичок в этом деле подскажите маленько, или ссылки на что то похожее!

рони 16.03.2017 20:11

imult87,
в чём проблема сформировать строку с помощью for in и вставить в innerHTML
https://learn.javascript.ru/object-for-in#for..in

imult87 16.03.2017 22:20

Ну вот я к примеру так делаю!
for (key in inventary) {
	$('#inv').html(inventary[key]);
}

Выводит лишь последний элемент, можете поподробнее обьяснить может я что то не то делаю? Есть примеры нужного мне решения?

рони 16.03.2017 22:53

Цитата:

Сообщение от imult87
можете поподробнее обьяснить может я что то не то делаю

1.
Цитата:

Сообщение от рони
сформировать строку

2 вставить строку.
var str ="";
for (key in inventary) { 

str+= inventary[key]
 }
 $('#inv').html(str);

imult87 17.03.2017 00:50

Спасибо что помогаете завтро попробую отпишусь, и плюсану:-)

рони 17.03.2017 11:17

Цитата:

Сообщение от Ruslan_xDD
b.innerHTML = inventory[i];

:blink:

Alexandroppolus 17.03.2017 11:41

если нужны свойства только из объекта (но не из прототипа), то надо проверять hasOwnProperty в цикле for in

рони 17.03.2017 12:01

imult87,
для новых браузеров можно так
<div id='inv'></div>
 <script>
 var inventory = {};
inventory.coin1 = "<b>1 Рубль 1890 года</b>";
inventory.coin2 = "<b>2 Рубля 1890 года</b>";
inventory.coin3 = "<b>3 копейки 1890 года</b>";
inventory.coin5 = "<b>5 Рублей 1890 года</b>";
document.getElementById('inv').insertAdjacentHTML('beforeEnd',Object.values(inventory).join("<br>"));

  </script>

imult87 17.03.2017 13:37

рони, Все работает то что мне было нужно спасибо! Всем остальным так же спасибо за помощь!


Часовой пояс GMT +3, время: 08:52.