Случайная последовательность из массива #239
Answered
by
Chimildic
Bondian
asked this question in
Помощь с алгоритмом
-
Возможно ли написать такую функцию, чтобы из массива выбирала случайный отрезок из заданного количества треков без нарушения их последовательности? Например, из последовательности 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 нужно получить 3 случайных последовательных трека. Результатом могут быть 1, 2, 3 или 2, 3, 4 или 8, 9, 10 и так далее... |
Beta Was this translation helpful? Give feedback.
Answered by
Chimildic
Jan 14, 2023
Replies: 1 comment 1 reply
-
slice/keep варианты function keepRandomSequence(array, count) {
Combiner.replace(array, array.sliceRandomSequence(count))
}
function sliceRandomSequence(array, count) {
return array.sliceRandomSequence(count)
}
Array.prototype.sliceRandomSequence = function (count) {
let max = this.length - count + 1
let startIndex = Math.floor(Math.random() * max);
return this.slice(startIndex, startIndex + count);
} Использование function debug() {
let x = [1, 2, 3, 4, 5, 6, 7, 8, 9]
console.log(x.sliceRandomSequence(3))
let tracks = Source.getSavedTracks(100)
let randomSequence1 = tracks.sliceRandomSequence(10)
keepRandomSequence(tracks, 10)
} |
Beta Was this translation helpful? Give feedback.
1 reply
Answer selected by
Bondian
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
slice/keep варианты
Использование