Skip to main content
Post Undeleted by radarbob
deleted 2 characters in body
Source Link
radarbob
  • 8.2k
  • 21
  • 35
  function BibleVerses (theVerses) {
     // becomes an array of objects
     let verses = JSON.parse(theVerses);

     this.count = function () { return this.verses.count(); }

     this.selectByBook = function (thisBook) {
       let selected = [];
       selected = this.verses.filter( verse => verse.Book === thisBook);
       return selected;
     }

      this.selectVerseCount = function (verseCount) {
       let selected = [];
       selected = this.verses.filter( verse => verse.numverses == verseCount);
       return selected;
     }

      this.selectVerseRange = function (low, high) {
       let selected = [];
       selected = this.verses.filter( verse => verse.numverses >= low && verse.numverses <= high);
       return selected;
     }

     this.toString = function () {
       let me = "";
       foreach (verse in this.verses).forEach( {verse =>
         me += `//n//n  Question: ${verse.ques}  Answer: ${verse.ans} Book: ${verse.Book}`;`);
       }
       return me;  
     }
} //BibleVerses
  function BibleVerses (theVerses) {
     // becomes an array of objects
     let verses = JSON.parse(theVerses);

     this.count = function () { return this.verses.count(); }

     this.selectByBook = function (thisBook) {
       let selected = [];
       selected = this.verses.filter( verse => verse.Book === thisBook);
       return selected;
     }

      this.selectVerseCount = function (verseCount) {
       let selected = [];
       selected = this.verses.filter( verse => verse.numverses == verseCount);
       return selected;
     }

      this.selectVerseRange = function (low, high) {
       let selected = [];
       selected = this.verses.filter( verse => verse.numverses >= low && verse.numverses <= high);
       return selected;
     }

     this.toString = function () {
       let me = "";
       foreach (verse in this.verses) {
         me += `//n//n  Question: ${verse.ques}  Answer: ${verse.ans} Book: ${verse.Book}`;
       }
       return me;  
     }
} //BibleVerses
  function BibleVerses (theVerses) {
     // becomes an array of objects
     let verses = JSON.parse(theVerses);

     this.count = function () { return this.verses.count(); }

     this.selectByBook = function (thisBook) {
       let selected = [];
       selected = this.verses.filter( verse => verse.Book === thisBook);
       return selected;
     }

      this.selectVerseCount = function (verseCount) {
       let selected = [];
       selected = this.verses.filter( verse => verse.numverses == verseCount);
       return selected;
     }

      this.selectVerseRange = function (low, high) {
       let selected = [];
       selected = this.verses.filter( verse => verse.numverses >= low && verse.numverses <= high);
       return selected;
     }

     this.toString = function () {
       let me = "";
       this.verses.forEach( verse =>
         me += `//n//n  Question: ${verse.ques}  Answer: ${verse.ans} Book: ${verse.Book}`);
       }
       return me;  
     }
} //BibleVerses
Post Deleted by radarbob
added 62 characters in body
Source Link
radarbob
  • 8.2k
  • 21
  • 35
  function BibleVerses (theVerses) {
     // becomes an array of objects
     let verses = JSON.parse(theVerses);

     this.count = function () { return this.verses.count(); }

     this.selectByBook = function (thisBook) {
       let selected = [];
       selected = this.verses.filter( verse => verse.Book ===== thisBook);
       return selected;
     }`

      this.selectVerseCount = function (verseCount) {
       let selected = [];
       selected = this.verses.filter( verse => verse.numverses == verseCount);
       return selected;
     }

      this.selectVerseRange = function (low, high) {
       let selected = [];
       selected = this.verses.filter( verse => verse.numverses >= low && verse.numverses <= high);
       return selected;
     }

     this.toString = function toString() {
       let me = "";
       foreach (verse in this.verses) {
         me += `//n//n  Question: ${verse.ques}  Answer: ${verse.ans} Book: ${verse.Book}`;
       }
       return me;  
     }
} //BibleVerses
 var myVerses = new BibleVerses(thatJSONofVerses);
 var wisdom = myVerses.selectByBook("Proverbs");
  function BibleVerses (theVerses) {
     // becomes an array of objects
     let verses = JSON.parse(theVerses);

     this.count = function () { return this.verses.count(); }

     this.selectByBook = function (thisBook) {
       let selected = [];
       selected = this.verses.filter( verse => verse.Book == thisBook);
       return selected;
     }`

      this.selectVerseCount = function (verseCount) {
       let selected = [];
       selected = this.verses.filter( verse => verse.numverses == verseCount);
       return selected;
     }

      this.selectVerseRange = function (low, high) {
       let selected = [];
       selected = this.verses.filter( verse => verse.numverses >= low && verse.numverses <= high);
       return selected;
     }

     function toString() {
       let me = "";
       foreach (verse in this.verses) {
         me += `//n//n  Question: ${verse.ques}  Answer: ${verse.ans} Book: ${verse.Book}`;
       }
       return me;  
     }
} //BibleVerses
 var myVerses = new BibleVerses(thatJSONofVerses);
  function BibleVerses (theVerses) {
     // becomes an array of objects
     let verses = JSON.parse(theVerses);

     this.count = function () { return this.verses.count(); }

     this.selectByBook = function (thisBook) {
       let selected = [];
       selected = this.verses.filter( verse => verse.Book === thisBook);
       return selected;
     }

      this.selectVerseCount = function (verseCount) {
       let selected = [];
       selected = this.verses.filter( verse => verse.numverses == verseCount);
       return selected;
     }

      this.selectVerseRange = function (low, high) {
       let selected = [];
       selected = this.verses.filter( verse => verse.numverses >= low && verse.numverses <= high);
       return selected;
     }

     this.toString = function () {
       let me = "";
       foreach (verse in this.verses) {
         me += `//n//n  Question: ${verse.ques}  Answer: ${verse.ans} Book: ${verse.Book}`;
       }
       return me;  
     }
} //BibleVerses
 var myVerses = new BibleVerses(thatJSONofVerses);
 var wisdom = myVerses.selectByBook("Proverbs");
Source Link
radarbob
  • 8.2k
  • 21
  • 35

Numbers in a JSON object

... no quotes, unless you intended them to be strings instead of actual numbers.

NO: "index" : "30" ,

YES: "index" : 30 ,

Always Select Entire Object

NO: getprob.push([result[i].ques, result[i].ans])

YES: getprob.push([result[i])

Then when you need to set HTML.text:

    question.text = getprob[i].ques
    ans.text = getprob[i].ans

Do Not Variable-ize Object Properties

NO: size = getprob.length;

YES: if(getprob.length > myAttentionSpan)

Make a collection with useful functions

Custom selection functions will dramatically reduce your existing code. Notice that an empty array is returned if nothing is selected. That is FAR easier to deal with - no need to guard for 'null' or 'undefined'

Array has many helpful iteration functions, study the documentation! find, every, indexOf, includes ...

  function BibleVerses (theVerses) {
     // becomes an array of objects
     let verses = JSON.parse(theVerses);

     this.count = function () { return this.verses.count(); }

     this.selectByBook = function (thisBook) {
       let selected = [];
       selected = this.verses.filter( verse => verse.Book == thisBook);
       return selected;
     }`

      this.selectVerseCount = function (verseCount) {
       let selected = [];
       selected = this.verses.filter( verse => verse.numverses == verseCount);
       return selected;
     }

      this.selectVerseRange = function (low, high) {
       let selected = [];
       selected = this.verses.filter( verse => verse.numverses >= low && verse.numverses <= high);
       return selected;
     }

     function toString() {
       let me = "";
       foreach (verse in this.verses) {
         me += `//n//n  Question: ${verse.ques}  Answer: ${verse.ans} Book: ${verse.Book}`;
       }
       return me;  
     }
} //BibleVerses

Instantiate BibleVerses Object

 var myVerses = new BibleVerses(thatJSONofVerses);