<prompt> Unda chaguo la kukokotoa la JavaScript ambalo huchukua safu ya vipengee vyenye maelezo kuhusu vitabu jina, mwandishi, mwaka wa uchapishaji na aina na kuchuja mkusanyiko kulingana na kigezo kimoja au zaidi zinazotolewa kama hoja. Chaguo za kukokotoa zinafaa kurudisha safu mpya iliyo na vitabu vinavyotimiza vigezo vilivyobainishwa pekee. Andika kesi za majaribio ili kuonyesha utendakazi wa chaguo hili la kukokotoa.  <response>: Hapa kuna chaguo la kukokotoa la JavaScript ambalo huchuja safu ya vipengee vya kitabu kulingana na vigezo vilivyotolewa: javascriptkazi filterBooksvitabu, vigezo rudisha vitabu.chujakitabu kwa const key katika vigezo ikiwa kitabukifunguo ! vigezoufunguo kurudi kwa uwongo; kurudi kweli; ;Hapa kuna kesi za majaribio ili kuonyesha utendakazi wa chaguo hili la kukokotoa: javascript data ya mfanovitabu vya const title: Book1, author: Author1, year: 2000, aina: Fiction , title: Book2, author: Author2, year: 2010, genre: Non-Fiction , title: Book3, author: Author1, year: 2020, genre: Fiction , title: Book4, author: Author3, year: 2005, aina: Fiction ,; Kesi ya jaribio la 1: Chuja na mwandishiconsole.logfilterBooksvitabu, mwandishi: Author1 ; Pato: title: Book1, author: Author1, year: 2000, aina: Fiction, title: Book3, mwandishi: Author1, mwaka: 2020, aina: Fiction Kesi ya jaribio la 2: Chuja kulingana na aina na mwakaconsole.logfilterBooksvitabu, genre: Fiction, mwaka: 2000; Pato: title: Book1, author: Author1, year: 2000, aina: Fiction Kesi ya 3 ya jaribio: Chuja kwa vigezo visivyopoconsole.logfilterBooksvitabu, publisher: Publisher1 ; Pato:Chaguo hili la kukokotoa linatumia mbinu ya Array.prototype.filter ili kuunda safu mpya iliyo na vitabu vinavyotimiza vigezo vilivyobainishwa pekee. Kichujio cha kupiga simu tena hukagua ikiwa jozi zote za thamani-msingi katika kipengee cha kigezo kilichotolewa zinalingana na sifa zinazolingana za kila kitu cha kitabu. Ikiwa kipengele chochote hakilingani, kitabu hakijumuishwi kutoka kwa safu iliyochujwa. 