Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function bookShelf(input) {
- //let workInputArr = [...input];
- let bookShelf = {};
- // let iD;
- // let genre;
- // let author;
- // let bookName;
- input.forEach(line => {
- if (line.includes(' -> ')) {
- let [iD, genre] = line.split(' -> ');
- if (!bookShelf.hasOwnProperty(iD)) {
- bookShelf[iD] = { [genre]: [] };
- }
- } else {
- let [bookName, genre] = line.split(", ")
- for (let key in bookShelf) {
- if (bookShelf[key].hasOwnProperty(genre)) {
- bookShelf[key][genre].push(bookName)
- break;
- }
- }
- }
- })
- Object.keys(bookShelf).sort((a, b) => Object.entries(bookShelf[b])[0][1].length - Object.entries(bookShelf[a])[0][1].length)
- .forEach(id => {
- console.log(`${id} ${Object.keys(bookShelf[id])}: ${Object.values(bookShelf[id])[0].length}`);
- Object.values(bookShelf[id]).forEach(values => {
- values.sort((a, b) => a.localeCompare(b)).forEach(v => {
- console.log(`--> ${v}`);
- });
- });
- });
- // if (line.includes(': ')) {
- // bookName = line.split(': ')[0];
- // let tokens = line.split(': ')[1];
- // [author, genre] = tokens.split(', ');
- // let isGenre = false;
- // Object.keys(bookShelf).forEach(shelf => {
- // if (genre in bookShelf[shelf]) {
- // isGenre = true;
- // iD = shelf;
- // }
- // });
- // if (isGenre) {
- // bookShelf[iD][genre][bookName] = author;
- // }
- // }
- // });
- // }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement