Как получать рандомный стих из Библии?

Помогите написать функцию которая будет получать рандомный стих из Библии. И подскажите в каком виде лучше хранить Библию на сервере для этой задачи?
  • Вопрос задан
  • 785 просмотров
Решения вопроса 1
Darij
@Darij Автор вопроса
Нашел Библию в формате JSON.
Написал такой код:
let wrapper = document.querySelector('.wrapper')
let request = new XMLHttpRequest();
request.open('GET', 'http://127.0.0.1:5500/rst.json');
request.responseType = 'text';
request.send();
function random(min, max) {
   return Math.floor(Math.random() * (max - min) + min)
}
request.onload = function () {
   var superHeroesText = request.response;
   var superHeroes = JSON.parse(superHeroesText)
   for (let key in superHeroes) {
      let getAllBooks = superHeroes[key]
      let getBook = getAllBooks[random(0, 66)]
      let getAllChapters = getBook['Chapters']
      let getChapterLength = getAllChapters.length
      let getChapter = getAllChapters[random(0, getChapterLength)]
      let getAllVerses = getChapter['Verses']
      let getVersesLength = getAllVerses.length
      let getVers = getAllVerses[random(0, getVersesLength)]
      let point = getVers['Text']
      console.log(getBook);

      wrapper.innerHTML = `<div class="bible-text">${point}</div>`
      wrapper.innerHTML += `<div class="bible-scr">(${getBook['BookName']} ${getChapter['ChapterId']}:${getVers['VerseId']})</div>`
   }
}

Все прекрасно работает, всем спасибо!
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Можно представить библию в виде массива, а стихи будут составляющими этого массива. Как это всё организовать подробно описано ЗДЕСЬ!
Ответ написан
Комментировать
2ord
@2ord
Хранить Библию можно построчно (стих=строка).
Допустим,
Бытие 1:3
И сказал Бог: да будет свет. И стал свет.

На иврите
וַיֹּאמֶר אֱלֹהִים, יְהִי אוֹר; וַיְהִי-אוֹר

Можно представить в виде Книга Глава:Стих
Глава:Стих (chapter:verse) могут быть представлены (закодированы) как буквенными, так и численными значениями, в зависимости от языка.
Если не нужно проходить по порядку глав-стихов, то достаточно хранить в СУБД 3 колонки: bible_version, book, verse_reference.
bible_version - Синодальный перевод
book - Бытие
verse_reference - 1:3

https://en.wikipedia.org/wiki/Chapters_and_verses_...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы