Skip to content

Instantly share code, notes, and snippets.

@haru01
Created April 4, 2019 02:00
Show Gist options
  • Save haru01/72846df7f022cc7ae9ea37a36792c6f3 to your computer and use it in GitHub Desktop.
Save haru01/72846df7f022cc7ae9ea37a36792c6f3 to your computer and use it in GitHub Desktop.
function createReportData(readList, recommendList) {
const reportData = {};
reportData.userName = readList.name;
reportData.readBooks = readList.books
.map(book => {
return {...book, point: point(book)};
});
reportData.total = total(reportData);
return reportData;
function total(reportData) {
return reportData.readBooks
.reduce((total, book) => total + book.point, 0);
}
function point(readBook) {
if (readBook.times <= 0) {
return 0;
}
if (notRecommendBook()) {
return 1;
}
if (readBook.times >= 3) {
return 8;
} else if (readBook.times === 2) {
return 5;
} else if (readBook.times === 1) {
return 3;
} else {
return 0;
}
function notRecommendBook() {
return !recommendList.map(recommend => recommend.asin).includes(readBook.asin);
}
}
}
module.exports = createReportData;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment