Показать сообщение отдельно
  #1 (permalink)  
Старый 08.12.2013, 02:03
Аватар для Аленький цветочек
Интересующийся
Отправить личное сообщение для Аленький цветочек Посмотреть профиль Найти все сообщения от Аленький цветочек
 
Регистрация: 29.11.2012
Сообщений: 15

Выбор случайного свойства объекта
Только начала учиться программировать. Пытаюсь написать прогу: есть окно, в левом верхнем углу находится квадратик, при нажатии на него, он перескакивает в любой незанятый угол окна, угол выбирается рандомно.
есть объект:
var corners = {
        tl : [0,0],
        tr : [0,bodyWidth - trButWidth],
        bl : [bodyHeight - trButHeight, 0 ],
        br : [bodyHeight - trButHeight,bodyWidth - trButHeight]
    };
 var randCorner = Math.floor( Math.random()*(Object.keys(corners).length)+0);

Мне нужно рандомно выбрать одно из свойств. А randCorner считает чиcло, но ведь corners не является массивом (знаю что в javascript все объекты:) Иначе все было бы проще : corners[randCorner] . А тут ключи объекта являются строками и к ним нельзя обратиться corners[1] Так как же выбрать случайный , правильней сказать, ключ?
Уже начинаю подумывать объект corners сделать массивом и не мучиться, но это ведь не так интересно.
PS есть идея записать все ключи в отдельный массив и рандомно выбирать из него ключи, а потом вызывать искомый объект. Но я в этом не уверена, тк думаю, что есть другой способ, более изящный чтоли.

Извиняюсь, если тупой вопрос или я непонятно его описала.
Ответить с цитированием