JSFiddle - React, Tailwind, and code Playground

by Karl Hui

HTML

http://jsfiddle.net/jkoudys/TBx4w/

CSS

body {
    font-size:

JavaScript

var library = {
    "name": "The Great Library of Alexandria",
        "books": [{
        "isbn": "94234-123A",
            "title": "Of Mice and Men",
            "genre":"Fiction",
            "pages": 102,
            "author": "John Steinbeck",
            "languages": ["english", "french (translated)"]
    }, {
        "isbn": "1321231231",
            "title": "Dune",
            "pages": 680,
            "author": "Frank Herbert",
        "genre": "Religion",
            "languages": ["english"]
    }]
};

// Quick note -- the ordering is not enforced; don't expect these properties to be in the same order you put them in above
function ReadingList(name) {
    this.name = name;
    this.list = [];
}
ReadingList.prototype.addBook = function(book) { this.list.push(book); };
ReadingList.prototype.getNextBook = function() { return this.list.pop(); };
ReadingList.prototype.toString = function() { 
    var listString =  "Reading List: " + this.name + "\n";
    for(var i = 0; i < this.list.length; i++) {
        listString += this.list[i].title + "\n";
    }
    return listString;
};
        

var rl = new ReadingList("Summer Reading");

for (var key in library) {
    if (key === "books") {
        for (var i = 0; i < library[key].length; i++) {
           rl.addBook(library[key][i]);
        }
    }
}

console.log(String(rl));