{"id":19574159,"url":"https://github.com/0mppula/eloquent_javascript_third_edition","last_synced_at":"2025-05-10T20:56:27.855Z","repository":{"id":159135814,"uuid":"368578515","full_name":"0mppula/Eloquent_JavaScript_Third_Edition","owner":"0mppula","description":"Solutions to the exercises from the ebook 'Eloquent JavaScript, 3rd Edition'  by: Marjin Haverbeke.","archived":false,"fork":false,"pushed_at":"2021-07-09T12:33:59.000Z","size":452,"stargazers_count":4,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-31T21:42:49.224Z","etag":null,"topics":["crash-course","eloquent-javascript","exercises","javascript","learning"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0mppula.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-18T15:22:34.000Z","updated_at":"2025-01-01T09:47:07.000Z","dependencies_parsed_at":"2023-05-17T02:45:49.275Z","dependency_job_id":null,"html_url":"https://github.com/0mppula/Eloquent_JavaScript_Third_Edition","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0mppula%2FEloquent_JavaScript_Third_Edition","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0mppula%2FEloquent_JavaScript_Third_Edition/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0mppula%2FEloquent_JavaScript_Third_Edition/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0mppula%2FEloquent_JavaScript_Third_Edition/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0mppula","download_url":"https://codeload.github.com/0mppula/Eloquent_JavaScript_Third_Edition/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253292131,"owners_count":21885037,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["crash-course","eloquent-javascript","exercises","javascript","learning"],"created_at":"2024-11-11T06:38:40.146Z","updated_at":"2025-05-09T17:10:16.398Z","avatar_url":"https://github.com/0mppula.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Eloquent JavaScript, 3rd Edition: A Modern Introduction to Programming\n\nSolutions to exercises from the ebook \"[Eloquent JavaScript, 3rd Edition][1]\" by: Marijn Haverbeke.\n\n## Part 1: Language\n\n### Chapter 1: Values, Types, and Operators\n\n-   [x] 1.1 No Exercises in this chapter\n\n### Chapter 2: Program Structure\n\n-   [x] 2.1 [Looping a Triangle](./2_program_structure/triangle.js/)\n-   [x] 2.2 [FizzBuzz](./2_program_structure/fizz_buzz.js/)\n-   [x] 2.3 [Chessboard](./2_program_structure/chessboard.js/)\n\n### Chapter 3: Functions\n\n-   [x] 3.1 [Minimum](./3_functions/minimum.js/)\n-   [x] 3.2 [Recursion](./3_functions/recursion.js/)\n-   [x] 3.3 [Bean Counting](./3_functions/bean_counting.js/)\n\n### Chapter 4: Data Structures\n\n-   [x] 4.1 [The Sum of a Range](./4_data_structures/range_sum.js/)\n-   [x] 4.2 [Reversing an Array](./4_data_structures/reverse_array.js/)\n-   [x] 4.3 [A List](./4_data_structures/a_list.js/)\n-   [x] 4.4 [Deep Comparison](./4_data_structures/deep_comparison.js/)\n\n### Chapter 5: Higher-Order Functions\n\n-   [x] 5.1 [Flattening](./5_higher-order_functions/flattening.js/)\n-   [x] 5.2 [Your Own Loop](./5_higher-order_functions/your_own_loop.js/)\n-   [x] 5.3 [Everything](./5_higher-order_functions/everything.js/)\n-   [x] 5.4 [Dominant Writing Direction](./5_higher-order_functions/dominant_writing_direction.js/)\n\n### Chapter 6: The Secret Life of Objects\n\n-   [x] 6.1 [A Vector Type](./6_secret_life_of_objects/vector.js/)\n-   [x] 6.2 [Groups](./6_secret_life_of_objects/groups.js/)\n-   [x] 6.3 [Iterable Groups](./6_secret_life_of_objects/iterable_groups.js/)\n-   [x] 6.4 [Borrowing a Method](./6_secret_life_of_objects/borrowing_method.js/)\n\n### Chapter 7: Project: A Robot\n\n-   [x] 7.1 [Measuring a Robot](./7_a_robot/measuring_a_robot.js/)\n-   [x] 7.2 [Robot Efficiency](./7_a_robot/robot_efficiency.js/)\n-   [x] 7.3 [Persistent Group](./7_a_robot/persistent_group.js/)\n\n### Chapter 8: Bugs and Errors\n\n-   [x] 8.1 [Retry](./8_bugs_and_errors/retry.js/)\n-   [x] 8.2 [The Locked Box](./8_bugs_and_errors/locked_box.js/)\n\n### Chapter 9: Regular Expressions\n\n-   [x] 9.1 [Regexp Golf](./9_regular_expressions/regexp_golf.js/)\n-   [x] 9.2 [Quoting Style](./9_regular_expressions/quoting_style.js/)\n-   [x] 9.3 [Numbers Again](./9_regular_expressions/numbers_again.js/)\n\n### Chapter 10: Modules\n\n-   [x] 10.2 [Roads Module](./10_modules/roads_module.js/)\n\n### Chapter 11: Asynchronous Programming\n\n-   [x] 11.1 [Tracking the Scalpel](./11_asynchronous_programming/tracking_the_scalpel.js/)\n-   [x] 11.2 [Building Promise.all](./11_asynchronous_programming/building_promise.all.js/)\n\n### Chapter 12: Project: A Programming Language\n\n-   [x] 12.1 [Arrays](./12_a_programming_language/arrays.js/)\n-   [x] 12.3 [Comments](./12_a_programming_language/comments.js/)\n-   [x] 12.4 [Fixing Scope](./12_a_programming_language/fixing_scope.js/)\n\n## Part 2: Browser\n\n### Chapter 13: JavaScript and the Browser\n\n-   [x] 13.1 No Exercises in this chapter\n\n### Chapter 14: The Document Object Model\n\n-   [x] 14.1 [Build a Table](./14_the_document_object_model/build_a_table/)\n-   [x] 14.2 [Elements by Tag Name](./14_the_document_object_model/elements_by_tag_name/)\n-   [x] 14.3 [The Cat's Hat](./14_the_document_object_model/the_cats_hat/)\n\n### Chapter 15: Handling Events\n\n-   [x] 15.1 [Balloon](./15_handling_events/balloon/)\n-   [x] 15.2 [Mouse Trail](./15_handling_events/mouse_trail/)\n-   [x] 15.3 [Tabs](./15_handling_events/tabs/)\n\n### Chapter 16: Project: A Platform Game\n\n-   [x] 16.1 [Game Over](./16_a_platform_game/)\n-   [x] 16.2 [Pausing the Game](./16_a_platform_game/)\n-   [x] 16.3 [A Monster](./16_a_platform_game/)\n\n### Chapter 17: Drawing on Canvas\n\n-   [x] 17.1 [Shapes](./17_drawing_on_canvas/shapes/)\n-   [x] 17.2 [The Pie Chart](./17_drawing_on_canvas/pie_chart/)\n-   [x] 17.3 [A Bouncing Ball](./17_drawing_on_canvas/a_bouncing_ball/)\n\n### Chapter 18: HTTP and Forms\n\n-   [x] 18.1 [Content Negotiation](./18_http_and_forms/content_negotiation/)\n-   [x] 18.2 [A JavaScript Workbench](./18_http_and_forms/a_javascript_workbench/)\n-   [x] 18.3 [Conway’s Game of Life](./18_http_and_forms/conways_game_of_life/)\n\n### Chapter 19: A Pixel Art Editor\n\n-   [x] 19.1 [Keyboard Bindings](./19_a_pixel_art_editor/)\n-   [x] 19.2 [Efficient Drawing](./19_a_pixel_art_editor/)\n-   [x] 19.3 [Circles](./19_a_pixel_art_editor/)\n-   [x] 19.4 [Proper Lines](./19_a_pixel_art_editor/)\n\n## Part 3: Node\n\n### Chapter 20: Node.js\n\n-   [x] 20.1 [Search Tool](./20_node.js/search_tool.js/)\n-   [x] 20.2 [Directory Creation](./20_node.js/directory_creation.js)\n-   [ ] 20.3 A Public Space on the Web\n\n### Chapter 21: Project: Skill-Sharing Website\n\n-   [x] 21.1 [Disk Persistence](/21_skill-sharing_website/)\n-   [x] 21.2 [Comment Field Resets](/21_skill-sharing_website/)\n\n### Chapter 22: JavaScript and Performance\n\n-   [x] 22.1 [Pathfinding](/22_javascript_and_performance/pathfinding.js)\n\n[1]: https://eloquentjavascript.net/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0mppula%2Feloquent_javascript_third_edition","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0mppula%2Feloquent_javascript_third_edition","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0mppula%2Feloquent_javascript_third_edition/lists"}