Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Помещение об'ьекта внутри массива (https://javascript.ru/forum/dom-window/66457-pomeshhenie-ob%27ekta-vnutri-massiva.html)

kyberi 16.12.2016 02:03

Помещение об'ьекта внутри массива
 
function buy() {
    var cash = document.getElementById('cash').value;
    var numbers = document.getElementById('numbers').value;
    var numShop = document.getElementById('shop').value;
    var exactTime = document.getElementById('exactTime').value;
    var shops = [];
    var obj = {};
    var timeOpen, timeClose, numBread;
    
    
    document.getElementById("p1").innerHTML = "руб в кармане: " + cash + 
        "<br>К-во магазинов: " + numShop + "<br>К-во хлеба: " + numbers + 
        "<br>Время: " + exactTime + ":00";
    
    for (var i = 1; i <= numShop; i++) {
        
        timeOpen = 6 + Math.round(Math.random()*17);
        timeClose = 23 - Math.round(Math.random() * (23 - timeOpen));
        numBread = Math.round(Math.random()*10);
                     
    }
}

Всем доброго время суток!
Такой вопрос:

1) теперь нужно чтобы объекты obj, которые будут меняться з каждым циклом находились в массиве shops ... номер цикла это индес массива .. timeOpen, timeClose, numBread это должны быть свойства этого объекта...
2) как потом вызвать любое свойство объекта находящегося в массиве?

Dilettante_Pro 16.12.2016 10:24

kyberi,
Цитата:

Сообщение от kyberi
1) теперь нужно чтобы объекты obj, которые будут меняться з каждым циклом находились в массиве shops ... номер цикла это индес массива .. timeOpen, timeClose, numBread это должны быть свойства этого объекта...

Ну так и формируйте массив объектов со свойствами в цикле. Зачем вам простые переменные?
Цитата:

Сообщение от kyberi
2) как потом вызвать любое свойство объекта находящегося в массиве?

Читать учебники...
http://javascript.ru/node/106

Dilettante_Pro 16.12.2016 14:20

var shops = [],
      obj={},
      numShop = 5;

for (var i = 1; i <= numShop; i++) {
        
        obj.timeOpen = 6 + Math.round(Math.random()*17);
        obj.timeClose = 23 - Math.round(Math.random() * (23 - obj.timeOpen));
        obj.numBread = Math.round(Math.random()*10);
        shops[i] = obj;
                     
    }
alert(JSON.stringify(shops[3]));
alert(shops[3].timeClose);


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