From 824287f510c77fe32ef2f43a0ebeebb89f8b7dff Mon Sep 17 00:00:00 2001 From: HadassaAvimor Date: Sun, 27 Aug 2023 02:17:26 +0300 Subject: [PATCH] Hard Issue (JavaScript) #300 --- tasks/javascript/hard/src/library.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/tasks/javascript/hard/src/library.js b/tasks/javascript/hard/src/library.js index 49403a458e..0a7dbaee74 100644 --- a/tasks/javascript/hard/src/library.js +++ b/tasks/javascript/hard/src/library.js @@ -36,11 +36,22 @@ class Library { } searchBooks(query) { - // TODO: Implement search functionality + return this.books.filter(i => + Object.keys(i).some(key => String(i[key]).toLowerCase().includes(query.toLowerCase()))); } filterBooks(criteria) { - // TODO: Implement filter functionality + const filterKeys = Object.keys(criteria); + return this.books.filter(obj => { + return filterKeys.every(key => { + if (!criteria[key].length) { + return true; + } + return criteria[key] === (obj[key]); + }); + }); + + } }