Я хотел бы использовать локальное хранилище, чтобы сделать этот «случайный» выбор ... случайным, но только на основе остальных объектов в массиве ,«Случайный» объект из массива, который не повторяется до тех пор, пока все не используются - с локальным хранилищем
Итак, если 3 выбирается --- тогда рандомизатор будет считать это в следующем выборе и т. Д., ТОГДА - когда все 4 объекта были использованы, сбросьте и повторите весь процесс. Я еще не использовал локальное хранилище, поэтому я ищу несколько советов по наиболее изящному способу сделать это.
var sceneChoices = [
skylineOne = {
skyline: '01',
ID: '9YwX81KAqdk'
},
skylineTwo = {
skyline: '02',
ID: 'bqJwMYzsmHU'
},
skylineThree = {
skyline: '03',
ID: 'DwNTvj61VQw'
},
skylineFour = {
skyline: '04',
ID: '2cg-Uc556-Q'
}
];
if (typeof(Storage) !== 'undefined') { // local storage style
var randomSunset = sceneChoices[Math.floor(Math.random() * sceneChoices.length)];
} else { // regular style
var randomSunset = sceneChoices[Math.floor(Math.random() * sceneChoices.length)];
}
var sunsetName = randomSunset.skyline;
var youTubeId = randomSunset.ID;
(писал, что довольно быстро ... и это было неправильно - как указано ниже)
Я думаю, что я действительно хотел массив, как это ...
var sunsetChoices = [
{
ID: '01',
videoKey: '9YwX81KAqdk'
},
{
ID: '02',
videoKey: 'bqJwMYzsmHU'
},
{
ID: '03',
videoKey: 'DwNTvj61VQw'
},
{
ID: '04',
videoKey: '2cg-Uc556-Q'
}
];
Shuffle, pop first – zerkms
Ваш код сцены не является законным Javascript. Предположительно, вы хотите использовать ':' вместо '='. – jfriend00
И для «sceneChoices» подразумевается объект с ключами, а не с массивом. – jfriend00