{"id":19984379,"url":"https://github.com/labex-labs/quick-start-with-javascript","last_synced_at":"2025-05-04T06:32:27.790Z","repository":{"id":241081865,"uuid":"804261838","full_name":"labex-labs/quick-start-with-javascript","owner":"labex-labs","description":"Quick Start with JavaScript | This repo collects 60 of programming labs exercises for Quick Start with JavaScript. This course is designed for beginners who want to learn JavaScript and programming fundamentals. We will try to build a dynamic personal finance tracker, which will help you to under...","archived":false,"fork":false,"pushed_at":"2025-01-01T01:54:27.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-17T02:26:53.714Z","etag":null,"topics":["challenges","course","exercises","hands-on","javascript","labex","labs","playgroud","programming"],"latest_commit_sha":null,"homepage":"https://labex.io/courses/quick-start-with-javascript","language":null,"has_issues":false,"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/labex-labs.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":"2024-05-22T09:03:36.000Z","updated_at":"2025-01-01T01:54:30.000Z","dependencies_parsed_at":"2024-05-22T10:30:05.660Z","dependency_job_id":"03ae442c-af75-4d6a-8c10-f66459c6e387","html_url":"https://github.com/labex-labs/quick-start-with-javascript","commit_stats":null,"previous_names":["labex-labs/quick-start-with-javascript"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labex-labs%2Fquick-start-with-javascript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labex-labs%2Fquick-start-with-javascript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labex-labs%2Fquick-start-with-javascript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labex-labs%2Fquick-start-with-javascript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/labex-labs","download_url":"https://codeload.github.com/labex-labs/quick-start-with-javascript/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252299429,"owners_count":21725716,"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":["challenges","course","exercises","hands-on","javascript","labex","labs","playgroud","programming"],"created_at":"2024-11-13T04:18:46.041Z","updated_at":"2025-05-04T06:32:27.783Z","avatar_url":"https://github.com/labex-labs.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quick Start with JavaScript\n\n[![Quick Start with JavaScript](https://cover-creator.appbot.io/quick-start-with-javascript.png)](https://labex.io/courses/quick-start-with-javascript)\n\n[![Start-Learning](https://img.shields.io/badge/Start-Learning-whitesmoke?style=for-the-badge)](https://labex.io/courses/quick-start-with-javascript)\n\nThis course is designed for beginners who want to learn JavaScript and programming fundamentals. We will try to build a dynamic personal finance tracker, which will help you to understand the basics of JavaScript.\n\n![JavaScript](https://img.shields.io/badge/JavaScript-whitesmoke?style=for-the-badge\u0026logo=javascript)\n\n\n## Environment\n\nLabEx is an interactive, hands-on learning platform dedicated to coding and technology. It combines labs, AI assistance, and virtual machines to provide a no-video, practical learning experience.\n\n![](https://tutorial-screenshot.getvm.io/images/vm-1725247253.png)\n\n- A strict “Learn by Doing” approach with exclusive hands-on labs and no videos.\n- Interactive online environments within the browser, with automated step-by-step checks.\n- A structured content organization with the Skill Tree based learning system.\n- A growing learning resource of 30 Skill Trees and over 6,000 Labs.\n- The AI learning assistant Labby, built on ChatGPT, providing a conversational learning experience.\n\nLearn more about [LabEx VM](https://support.labex.io/using-labex/virtual-machine).\n\n## Exercises\n\n|   Index | Name                                                | Difficulty   | Practice                                                                                                                              |\n|---------|-----------------------------------------------------|--------------|---------------------------------------------------------------------------------------------------------------------------------------|\n|      01 | 📖 Your First JavaScript Lab                         | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/your-first-javascript-lab-92948'\u003eStart Lab\u003c/a\u003e                                    |\n|      02 | 📖 Basic JavaScript and DOM                          | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-basic-javascript-and-dom-290729'\u003eStart Lab\u003c/a\u003e                         |\n|      03 | 📖 Arrays and Objects                                | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-arrays-and-objects-290728'\u003eStart Lab\u003c/a\u003e                               |\n|      04 | 📖 Data Storage and Retrieval                        | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-data-storage-and-retrieval-290730'\u003eStart Lab\u003c/a\u003e                       |\n|      05 | 📖 Enhancing Personal Finance Tracker                | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-enhancing-personal-finance-tracker-290731'\u003eStart Lab\u003c/a\u003e               |\n|      06 | 📖 Implementing the Summary                          | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-implementing-the-summary-290732'\u003eStart Lab\u003c/a\u003e                         |\n|      07 | 📖 Value Is Null                                     | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-value-is-null-28429'\u003eStart Lab\u003c/a\u003e                                     |\n|      08 | 📖 Value Is Undefined                                | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-value-is-undefined-28447'\u003eStart Lab\u003c/a\u003e                                |\n|      09 | 📖 Value Is Number                                   | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-value-is-number-28430'\u003eStart Lab\u003c/a\u003e                                   |\n|      10 | 📖 Value Is String                                   | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-value-is-string-28444'\u003eStart Lab\u003c/a\u003e                                   |\n|      11 | 📖 Value Is Boolean                                  | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-value-is-boolean-28412'\u003eStart Lab\u003c/a\u003e                                  |\n|      12 | 📖 Type of Value                                     | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-type-of-value-28673'\u003eStart Lab\u003c/a\u003e                                     |\n|      13 | 📖 Round Number to Given Precision                   | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/round-number-to-given-precision-28605'\u003eStart Lab\u003c/a\u003e                              |\n|      14 | 📖 Clamping Numbers in JavaScript                    | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-clamping-numbers-in-javascript-28196'\u003eStart Lab\u003c/a\u003e                    |\n|      15 | 📖 Number Is Even                                    | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-number-is-even-28419'\u003eStart Lab\u003c/a\u003e                                    |\n|      16 | 📖 Number Is Odd                                     | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-number-is-odd-28433'\u003eStart Lab\u003c/a\u003e                                     |\n|      17 | 📖 Random Number in Range                            | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-random-number-in-range-28574'\u003eStart Lab\u003c/a\u003e                            |\n|      18 | 📖 Number to Currency String                         | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-number-to-currency-string-28516'\u003eStart Lab\u003c/a\u003e                         |\n|      19 | 📖 Capitalize First Letter in JavaScript             | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-capitalize-first-letter-in-javascript-28188'\u003eStart Lab\u003c/a\u003e             |\n|      20 | 📖 Reverse String with JavaScript                    | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-reverse-string-with-javascript-28600'\u003eStart Lab\u003c/a\u003e                    |\n|      21 | 📖 Convert Strings to Camelcase with JavaScript      | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-convert-strings-to-camelcase-with-javascript-28648'\u003eStart Lab\u003c/a\u003e      |\n|      22 | 📖 Truncating Strings in JavaScript                  | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-truncating-strings-in-javascript-28671'\u003eStart Lab\u003c/a\u003e                  |\n|      23 | 📖 Padding Strings in JavaScript                     | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-padding-strings-in-javascript-28537'\u003eStart Lab\u003c/a\u003e                     |\n|      24 | 📖 String Manipulation with JavaScript               | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-string-manipulation-with-javascript-28590'\u003eStart Lab\u003c/a\u003e               |\n|      25 | 📖 Head of Array                                     | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-head-of-array-28145'\u003eStart Lab\u003c/a\u003e                                     |\n|      26 | 📖 JavaScript Fundamentals Through Coding            | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-javascript-fundamentals-through-coding-28156'\u003eStart Lab\u003c/a\u003e            |\n|      27 | 📖 Last Array Element                                | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-last-array-element-28463'\u003eStart Lab\u003c/a\u003e                                |\n|      28 | 📖 Array Without Last Element                        | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-array-without-last-element-28163'\u003eStart Lab\u003c/a\u003e                        |\n|      29 | 📖 Filtering Falsy Values in JavaScript Arrays       | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-filtering-falsy-values-in-javascript-arrays-28204'\u003eStart Lab\u003c/a\u003e       |\n|      30 | 📖 Random Element in Array                           | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-random-element-in-array-28153'\u003eStart Lab\u003c/a\u003e                           |\n|      31 | 📖 Check if Array Has Duplicates                     | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-check-if-array-has-duplicates-28142'\u003eStart Lab\u003c/a\u003e                     |\n|      32 | 📖 Check if Array Includes All Values                | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-check-if-array-includes-all-values-28146'\u003eStart Lab\u003c/a\u003e                |\n|      33 | 📖 Check if Array Includes Any Values                | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-check-if-array-includes-any-values-28147'\u003eStart Lab\u003c/a\u003e                |\n|      34 | 📖 Filter Unique Array Values                        | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-filter-unique-array-values-28299'\u003eStart Lab\u003c/a\u003e                        |\n|      35 | 📖 Efficient Array Intersection in JavaScript        | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-efficient-array-intersection-in-javascript-28148'\u003eStart Lab\u003c/a\u003e        |\n|      36 | 📖 Find Union of Elements on an Array                | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-find-union-of-elements-on-an-array-28161'\u003eStart Lab\u003c/a\u003e                |\n|      37 | 📖 Shallow Clone Object                              | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-shallow-clone-object-28613'\u003eStart Lab\u003c/a\u003e                              |\n|      38 | 📖 Pick Object Keys                                  | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-pick-object-keys-28544'\u003eStart Lab\u003c/a\u003e                                  |\n|      39 | 📖 Omit Object Keys                                  | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-omit-object-keys-28529'\u003eStart Lab\u003c/a\u003e                                  |\n|      40 | 📖 Merging JavaScript Objects with Reduce and Concat | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-merging-javascript-objects-with-reduce-and-concat-28495'\u003eStart Lab\u003c/a\u003e |\n|      41 | 📖 Convert Object to Pairs                           | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-convert-object-to-pairs-28523'\u003eStart Lab\u003c/a\u003e                           |\n|      42 | 📖 Object From Pairs                                 | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-object-from-pairs-28519'\u003eStart Lab\u003c/a\u003e                                 |\n|      43 | 📖 Limiting Function Arguments in JavaScript         | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-limiting-function-arguments-in-javascript-28322'\u003eStart Lab\u003c/a\u003e         |\n|      44 | 📖 Function Composition in JavaScript                | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-function-composition-in-javascript-28208'\u003eStart Lab\u003c/a\u003e                |\n|      45 | 📖 Composing Functions Efficiently in JavaScript     | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-composing-functions-efficiently-in-javascript-28546'\u003eStart Lab\u003c/a\u003e     |\n|      46 | 📖 Optimizing JavaScript Functions with Memoization  | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-optimizing-javascript-functions-with-memoization-28494'\u003eStart Lab\u003c/a\u003e  |\n|      47 | 📖 Debouncing Promises in JavaScript                 | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-debouncing-promises-in-javascript-28257'\u003eStart Lab\u003c/a\u003e                 |\n|      48 | 📖 JavaScript Currying Techniques                    | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-javascript-currying-techniques-28233'\u003eStart Lab\u003c/a\u003e                    |\n|      49 | 📖 Check for Leap Year                               | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-check-for-leap-year-28423'\u003eStart Lab\u003c/a\u003e                               |\n|      50 | 📖 Explore JavaScript Programming Concepts           | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-explore-javascript-programming-concepts-28247'\u003eStart Lab\u003c/a\u003e           |\n|      51 | 📖 Calculate Date Difference in JavaScript           | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-calculate-date-difference-in-javascript-28235'\u003eStart Lab\u003c/a\u003e           |\n|      52 | 📖 Add Date by Days in JavaScript                    | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-add-date-by-days-in-javascript-28123'\u003eStart Lab\u003c/a\u003e                    |\n|      53 | 📖 Create Human-Readable Time Formatting             | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-create-human-readable-time-formatting-28316'\u003eStart Lab\u003c/a\u003e             |\n|      54 | 📖 Date Range Generator                              | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-date-range-generator-28248'\u003eStart Lab\u003c/a\u003e                              |\n|      55 | 📖 Asynchronous Functions to Promises                | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-asynchronous-functions-to-promises-28559'\u003eStart Lab\u003c/a\u003e                |\n|      56 | 📖 Deep Clone Object                                 | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-deep-clone-object-28260'\u003eStart Lab\u003c/a\u003e                                 |\n|      57 | 📖 String Is Valid JSON                              | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-string-is-valid-json-28449'\u003eStart Lab\u003c/a\u003e                              |\n|      58 | 📖 Stringify Circular JSON                           | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-stringify-circular-json-28629'\u003eStart Lab\u003c/a\u003e                           |\n|      59 | 📖 Flatten JavaScript Object with Recursion          | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-flatten-javascript-object-with-recursion-28312'\u003eStart Lab\u003c/a\u003e          |\n|      60 | 📖 Deep Freeze Object                                | ★☆☆          | \u003ca target='_blank' href='https://labex.io/tutorials/javascript-deep-freeze-object-28263'\u003eStart Lab\u003c/a\u003e                                |\n\n## More\n\n- 🔗 [JavaScript Programming Courses](https://github.com/labex-labs/awesome-programming-courses)\n- 🔗 [JavaScript Programming Projects](https://github.com/labex-labs/awesome-programming-projects)\n- 🔗 [JavaScript Free Tutorials](https://github.com/labex-labs/javascript-free-tutorials)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flabex-labs%2Fquick-start-with-javascript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flabex-labs%2Fquick-start-with-javascript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flabex-labs%2Fquick-start-with-javascript/lists"}