2016-12-13 3 views
2

У меня есть следующий вар, который является объектом:Как выбрать объект Javascript случайно по индексу?

var users = {}; 

вставить пользователь в этом объекте, как это:

users["john"] = "johns property"; 
users["mike"] = "mikes property"; 
users["luke"] = "lukes property"; 

Я прочитал много вопросов здесь, и я узнал, что вы не можете напрямую обращаться к объектам по индексу. Хорошо, не проблема, потому что мне нужно выбрать любой случайный объект из этого «массива объектов» (если это правильное выражение).

В частности, я хочу, чтобы выбрать любой случайный объект из коллекции, это может быть john, mike или luke, в зависимости от того, что произойдет. Я знаю, что могу использовать генератор случайных чисел для получения случайного индекса, но тогда я не смогу получить доступ к объекту из коллекции с помощью индекса; поэтому я ищу маршруты.

+5

Получить ключи с помощью 'Object.keys()'. Получите случайное число от 0 до 'no. ключей - 1'. Получите значение ключа в этом индексе в ключах. – Tushar

+1

'Object.keys (users)' является отправной точкой ... oops, Tushar избил меня –

ответ

2

привет попробовать следующее ...

var users = {}; 

users["john"] = "johns property"; 
users["mike"] = "mikes property"; 
users["luke"] = "lukes property"; 

var index = Object.keys(users); 

console.log(users[index[Math.floor(Math.random()*index.length)]]);