Repository: jadjoubran/codetogo.io Branch: master Commit: b6589e60412f Files: 261 Total size: 235.2 KB Directory structure: gitextract_o7rxk2fy/ ├── .editorconfig ├── .gitignore ├── CNAME ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── PULL_REQUEST_TEMPLATE.md ├── README.md ├── bootstrap.php ├── build/ │ └── config.gypi ├── composer.json ├── config.php ├── netlify.toml ├── package.json ├── source/ │ ├── 404.html │ ├── CNAME │ ├── _assets/ │ │ ├── js/ │ │ │ ├── autocomplete.js │ │ │ └── main.js │ │ └── sass/ │ │ ├── about.scss │ │ ├── all.scss │ │ ├── autocomplete.scss │ │ ├── banner.scss │ │ ├── body.scss │ │ ├── card.scss │ │ ├── category.scss │ │ ├── code.scss │ │ ├── footer.scss │ │ ├── landing.scss │ │ ├── main.scss │ │ ├── nav.scss │ │ ├── prism.css │ │ ├── related.scss │ │ ├── share.scss │ │ └── usecase.scss │ ├── _jsusecases/ │ │ ├── add-class-to-element.md │ │ ├── add-item-to-array.md │ │ ├── add-item-to-localstorage.md │ │ ├── add-item-to-sessionstorage.md │ │ ├── add-multiple-classes-to-element.md │ │ ├── add-object-to-localstorage.md │ │ ├── append-html.md │ │ ├── apply-function-to-every-array-element.md │ │ ├── async-await-fetch.md │ │ ├── async-await.md │ │ ├── call-a-function-with-arguments.md │ │ ├── call-a-function.md │ │ ├── capitalize-first-letter.md │ │ ├── change-CSS-property.md │ │ ├── check-if-array-includes-element.md │ │ ├── check-if-element-has-class.md │ │ ├── check-if-number-is-even.md │ │ ├── check-if-number-is-odd.md │ │ ├── check-if-object-includes-substring.md │ │ ├── check-if-object-includes-value.md │ │ ├── check-if-object-is-empty.md │ │ ├── check-if-string-ends-with-substring.md │ │ ├── check-if-string-includes-another-string.md │ │ ├── check-if-string-starts-with-substring.md │ │ ├── check-if-variable-is-a-string.md │ │ ├── check-if-variable-is-an-object.md │ │ ├── clear-interval.md │ │ ├── clear-timeout.md │ │ ├── comment.md │ │ ├── concatenate-arrays.md │ │ ├── concatenate-objects.md │ │ ├── convert-JSON-to-string.md │ │ ├── convert-array-to-comma-separated-string.md │ │ ├── convert-date-to-mysql-format-YYYY-MM-DD.md │ │ ├── convert-date-to-timestamp.md │ │ ├── convert-from-degree-to-radian.md │ │ ├── convert-string-to-number.md │ │ ├── copy-text-to-clipboard.md │ │ ├── create-a-promise.md │ │ ├── create-a-range-array.md │ │ ├── create-a-regex.md │ │ ├── create-a-switch-statement.md │ │ ├── create-an-object.md │ │ ├── create-array-from-existing-array.md │ │ ├── create-date-in-RFC3339-format.md │ │ ├── create-logical-AND-condition.md │ │ ├── create-logical-NOT-condition.md │ │ ├── create-logical-OR-condition.md │ │ ├── create-object-from-array.md │ │ ├── create-shallow-copy-of-object.md │ │ ├── create-string-from-character-code.md │ │ ├── decode-url.md │ │ ├── decrement-a-variable.md │ │ ├── define-a-class.md │ │ ├── define-a-function-with-default-parameter.md │ │ ├── define-variable.md │ │ ├── delete-item-from-array.md │ │ ├── destructure-from-array.md │ │ ├── destructure-from-object.md │ │ ├── destructure-with-default-value.md │ │ ├── empty-array.md │ │ ├── encode-url.md │ │ ├── fetch-XML.md │ │ ├── fetch-json.md │ │ ├── fetch-post-json.md │ │ ├── filter-objects-in-array.md │ │ ├── find-an-element-from-the-DOM.md │ │ ├── find-element-by-class.md │ │ ├── find-element-by-id.md │ │ ├── find-index-of-element-in-array.md │ │ ├── find-multiple-DOM-elements.md │ │ ├── find-next-element.md │ │ ├── find-previous-element.md │ │ ├── find-root-of-positive-number.md │ │ ├── flatten-a-nested-array.md │ │ ├── format-currency-as-per-locale.md │ │ ├── format-date.md │ │ ├── generate-random-string.md │ │ ├── get-CSS-custom-property.md │ │ ├── get-CSS-property.md │ │ ├── get-count-of-DOM-elements.md │ │ ├── get-count-of-character-in-string.md │ │ ├── get-count-of-duplicate-items-in-array.md │ │ ├── get-current-day-name.md │ │ ├── get-current-month-name.md │ │ ├── get-current-page-url.md │ │ ├── get-current-short-day-name.md │ │ ├── get-current-short-month-name.md │ │ ├── get-current-timestamp-in-seconds.md │ │ ├── get-current-timestamp.md │ │ ├── get-current-year.md │ │ ├── get-data-attribute-from-element.md │ │ ├── get-division-remainder.md │ │ ├── get-extension-from-input-type-file.md │ │ ├── get-file-name-from-path.md │ │ ├── get-first-character-of-string.md │ │ ├── get-function-arguments-as-array.md │ │ ├── get-human-friendly-date-difference.md │ │ ├── get-item-from-localstorage.md │ │ ├── get-item-from-sessionstorage.md │ │ ├── get-keys-of-object.md │ │ ├── get-last-array-element.md │ │ ├── get-last-character-of-string.md │ │ ├── get-length-of-array.md │ │ ├── get-length-of-string.md │ │ ├── get-minutes-ago.md │ │ ├── get-path-from-full-path.md │ │ ├── get-port-from-url.md │ │ ├── get-random-element-from-array.md │ │ ├── get-random-hex-color.md │ │ ├── get-random-number-between-two-numbers.md │ │ ├── get-unique-values-from-object-array-property.md │ │ ├── get-url-search-params.md │ │ ├── hide-element.md │ │ ├── increment-a-variable.md │ │ ├── interpolate.md │ │ ├── listen-to-click-event.md │ │ ├── listen-to-hover-event.md │ │ ├── listen-to-scroll-event.md │ │ ├── loop-backwards-through-array.md │ │ ├── loop-through-array.md │ │ ├── loop-through-object.md │ │ ├── lowercase-a-string.md │ │ ├── manually-trigger-event-on-element.md │ │ ├── match-text-against-regex.md │ │ ├── open-url-in-new-tab.md │ │ ├── parse-JSON-string.md │ │ ├── pause-audio.md │ │ ├── pause-video.md │ │ ├── play-audio.md │ │ ├── play-video.md │ │ ├── prevent-default-action-of-event.md │ │ ├── redirect-to-another-page.md │ │ ├── register-a-service-worker.md │ │ ├── reload-page.md │ │ ├── remove-a-property-from-object.md │ │ ├── remove-class-from-element.md │ │ ├── remove-duplicates-from-array.md │ │ ├── remove-element-from-DOM.md │ │ ├── remove-item-from-localstorage.md │ │ ├── remove-multiple-classes-from-element.md │ │ ├── repeat-a-string.md │ │ ├── replace-a-class-of-element.md │ │ ├── replace-all-occurrences-of-string.md │ │ ├── replace-element-content-HTML.md │ │ ├── replace-spaces-with-dashes.md │ │ ├── reverse-elements-of-array.md │ │ ├── round-a-number.md │ │ ├── set-CSS-custom-property.md │ │ ├── set-interval.md │ │ ├── set-timeout.md │ │ ├── set-url-search-params.md │ │ ├── show-element.md │ │ ├── skip-values-from-array-destructuring.md │ │ ├── smooth-scroll.md │ │ ├── sort-array-in-ascending-order.md │ │ ├── sort-array-in-descending-order.md │ │ ├── sort-array-of-objects-in-ascending-order.md │ │ ├── sort-array-of-objects-in-descending-order.md │ │ ├── split-comma-separated-string.md │ │ ├── split-string-into-array-of-characters.md │ │ ├── stop-audio.md │ │ ├── stop-video.md │ │ ├── sum-items-of-array.md │ │ ├── swap-variables.md │ │ ├── time-a-function.md │ │ ├── toggle-class-of-element.md │ │ ├── try-catch.md │ │ ├── update-array-immutably.md │ │ ├── uppercase-a-string.md │ │ ├── uppercase-every-word.md │ │ ├── uppercase-first-letter.md │ │ ├── validate-email.md │ │ ├── wait-in-async-await-functions.md │ │ ├── write-a-multiline-string.md │ │ └── write-an-arrow-function.md │ ├── _layouts/ │ │ ├── master.blade.php │ │ └── usecase.blade.php │ ├── _partials/ │ │ ├── footer.blade.php │ │ ├── head.blade.php │ │ ├── header.blade.php │ │ ├── header_inner.blade.php │ │ ├── logosvg.blade.php │ │ ├── menu.blade.php │ │ ├── related.blade.php │ │ ├── scripts.blade.php │ │ └── share.blade.php │ ├── _reactusecases/ │ │ ├── destructure-props.md │ │ ├── export-a-component.md │ │ ├── fetch-with-use-hook.md │ │ ├── get-React-version.md │ │ ├── get-props.md │ │ ├── listen-to-click-event.md │ │ ├── listen-to-keydown-event.md │ │ ├── listen-to-keypress-event.md │ │ ├── listen-to-keyup-event.md │ │ ├── render-to-the-DOM.md │ │ ├── use-fragments.md │ │ ├── use-state-with-hooks.md │ │ ├── write-a-class-component.md │ │ └── write-a-functional-component.md │ ├── about.blade.php │ ├── all.blade.php │ ├── api/ │ │ ├── users.json │ │ └── users.xml │ ├── assets/ │ │ └── build/ │ │ ├── 0.js │ │ ├── css/ │ │ │ ├── app.css │ │ │ └── main.css │ │ ├── js/ │ │ │ ├── index.js │ │ │ └── main.js │ │ └── mix-manifest.json │ ├── build/ │ │ ├── css/ │ │ │ └── main-17bd45cbc3.css │ │ ├── js/ │ │ │ └── all-0048fc7a19.js │ │ └── rev-manifest.json │ ├── css/ │ │ └── main.css │ ├── dynamic-sitemap.blade.php │ ├── favicons/ │ │ ├── browserconfig.xml │ │ └── manifest.json │ ├── index.blade.php │ ├── javascript.blade.php │ ├── js/ │ │ ├── all.js │ │ └── index.js │ └── react.blade.php ├── tasks/ │ ├── algolia-sync.js │ ├── bin.js │ └── build.js └── webpack.mix.js ================================================ FILE CONTENTS ================================================ ================================================ FILE: .editorconfig ================================================ root = true [*] end_of_line = lf # 4 space indentation [*.{js,php,scss}] indent_style = space indent_size = 4 ================================================ FILE: .gitignore ================================================ /build_local/ /build_production/ /node_modules/ /vendor/ /_tmp/ /cache/ /.idea/ /.vscode/ npm-debug.log yarn-error.log # Optional ignores # /build_staging/ # /build_production/ # /source/assets/build/css/ # /source/assets/build/fonts/ # /source/assets/build/js/ ================================================ FILE: CNAME ================================================ codetogo.io ================================================ FILE: CODE_OF_CONDUCT.md ================================================ # Contributor Covenant Code of Conduct ## Our Pledge In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. ## Our Standards Examples of behavior that contributes to creating a positive environment include: * Using welcoming and inclusive language * Being respectful of differing viewpoints and experiences * Gracefully accepting constructive criticism * Focusing on what is best for the community * Showing empathy towards other community members Examples of unacceptable behavior by participants include: * The use of sexualized language or imagery and unwelcome sexual attention or advances * Trolling, insulting/derogatory comments, and personal or political attacks * Public or private harassment * Publishing others' private information, such as a physical or electronic address, without explicit permission * Other conduct which could reasonably be considered inappropriate in a professional setting ## Our Responsibilities Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. ## Scope This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at joubran.jad@gmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. ## Attribution This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] [homepage]: http://contributor-covenant.org [version]: http://contributor-covenant.org/version/1/4/ ================================================ FILE: CONTRIBUTING.md ================================================ Thank you for contributing a use case on CodeToGo! You can either follow the below steps to send a Pull Request, or you can simply create a new Issue 0. We recommend creating an issue discussing the use case before you send a PR 1. Search the website to make sure that this use case doesn't already exist 2. Create a new markdown file in `source/_jsusecases/` or `source/_reactusecases`. The name of the markdown file will determine the **Title** of the use case. For example: [lowercase-a-string.md](https://github.com/jadjoubran/codetogo.io/blob/master/source/_jsusecases/lowercase-a-string.md) will automatically yield a title of: `How to lowercase a string in JavaScript`. `How to ` and ` in JavaScript` are always automatically added. 3. Please start off using this template ```` --- extends: _layouts.usecase date: 2018-01-20 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase reference: String.toUpperCase related: lowercase-a-string category: strings author: "Your name/nickname (optional)" --- ```javascript const text = 'Hello World'; text.toUpperCase(); ```
HELLO WORLD```` 4. Replace the use case with your own. 5. If there's an output for such code, show it in between `` 6. If the solution for that usecase references a particular javascript method or object, please find the [MDN](https://developer.mozilla.org/ ) link for it and replace it in the header of the file. Also add a `reference` that points to the method name. For example: `String.toUpperCase`. 7. If there is one or more related use cases, please reference them (comma separated) in the `related:` filed in the headers. If there are none, then please remove that line. 8. Update the `category:` to a suitable category 9. Set the `date:` to today's date ================================================ FILE: LICENSE ================================================ MIT License Copyright (c) 2018 Jad Joubran Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: PULL_REQUEST_TEMPLATE.md ================================================ > Put an `x` inside those square brackets to mark them as complete. - [ ] Check [CONTRIBUTING.md](https://github.com/jadjoubran/codetogo.io/blob/master/CONTRIBUTING.md)? - [ ] 1 use case per Pull Request - [ ] Double check the use case file name? - [ ] Update or remove the `mdn` link? - [ ] Update or remove the `related` use cases? - [ ] Update the category? (if necessary) - [ ] Update the date? ================================================ FILE: README.md ================================================ # Codetogo.io Code to go aims to help developers learning JavaScript & React find up to date, accurate and ready to use snippets of JavaScript & React code for common use cases. ## Contributing a new use case Do you have a use case that is not covered in codetogo? Please open an issue (even if you don't have the answer for that use case). You can also create a Pull Request by following the steps in [contributing.md](https://github.com/jadjoubran/codetogo.io/blob/master/CONTRIBUTING.md) however we recommend opening an issue first. ## Use case feedback Do you have feedback on a particular use case? Please open an issue ## Makers [Codetogo.io](https://codetogo.io) is built by [Jad Joubran](https://github.com/jadjoubran) and designed by [Nicole Saidy](https://github.com/nicolesaidy). ================================================ FILE: bootstrap.php ================================================ '', 'production' => true, 'collections' => [ 'jsusecases' => [ 'type' => 'javascript', 'formatted_type' => 'JavaScript', 'path' => 'how-to-{filename}-in-javascript', 'section' => 'content', 'question' => function ($page) { $question = str_replace('-', ' ', $page->getFilename()); return "How to $question in JavaScript"; }, 'url' => function ($page) { return 'how-to-'.$page->getFilename().'-in-javascript'; }, 'learnbtn' => '' ], 'reactusecases' => [ 'type' => 'react', 'formatted_type' => 'React', 'path' => 'how-to-{filename}-in-react', 'section' => 'content', 'question' => function ($page) { $question = str_replace('-', ' ', $page->getFilename()); return "How to $question in React"; }, 'url' => function ($page) { return 'how-to-'.$page->getFilename().'-in-react'; }, 'learnbtn' => 'Step by step React Tutorial' ], ], ]; ================================================ FILE: netlify.toml ================================================ [[headers]] for = "/*" [headers.values] Cache-Control = "public, s-max-age=18748800" ================================================ FILE: package.json ================================================ { "name": "codetogo", "private": false, "devDependencies": { "algoliasearch": "^3.35.1", "browser-sync": "^3.0.2", "browser-sync-webpack-plugin": "^2.3.0", "cross-env": "^3.2.3", "extra-watch-webpack-plugin": "^1.0.3", "hasbin": "^1.2.3", "husky": "^0.14.3", "laravel-mix": "^6.0.49", "lint-staged": "^15.2.7", "node-cmd": "^3.0.0", "prettier": "^1.19.1", "rrssb": "^1.14.0", "sass": "^1.26.10", "sass-loader": "^16.0.1", "vue-template-compiler": "^2.6.11", "webpack": "5.75.0", "yaml-front-matter": "^4.1.0", "yargs": "^17.6.2" }, "scripts": { "local": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --env=local --config=node_modules/laravel-mix/setup/webpack.config.js", "staging": "cross-env NODE_ENV=staging node_modules/webpack/bin/webpack.js --progress --env=staging --config=node_modules/laravel-mix/setup/webpack.config.js", "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --env=production --config=node_modules/laravel-mix/setup/webpack.config.js", "dev": "npm run local", "prod": "npm run production", "watch": "npm run local -- --watch", "sync": "node tasks/algolia-sync.js", "precommit": "lint-staged", "netlify-build": "composer install && npm run prod && vendor/bin/jigsaw build production && npm run sync" }, "lint-staged": { "source/_jsusecases/*.md": [ "prettier --write", "git add" ], "source/_reactusecases/*.md": [ "prettier --write", "git add" ] } } ================================================ FILE: source/404.html ================================================
["calculator", "phone", "clock"]================================================ FILE: source/_jsusecases/add-item-to-localstorage.md ================================================ --- extends: _layouts.usecase date: 2017-12-19 link: https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage related: add-object-to-localstorage,remove-item-from-localstorage,get-item-from-localstorage reference: Window.localStorage category: storage --- ```javascript const name = "John"; localStorage.setItem("name", name); ``` ================================================ FILE: source/_jsusecases/add-item-to-sessionstorage.md ================================================ --- extends: _layouts.usecase date: 2017-12-21 link: https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage reference: Window.sessionStorage related: get-item-from-sessionstorage category: storage --- ```javascript const name = "John"; sessionStorage.setItem("name", name); ``` ================================================ FILE: source/_jsusecases/add-multiple-classes-to-element.md ================================================ --- extends: _layouts.usecase date: 2018-09-22 link: https://developer.mozilla.org/en-US/docs/Web/API/Element/classList reference: Element.classList related: add-class-to-element,remove-multiple-classes-from-element category: DOM --- ```html ``` ```javascript const element = document.querySelector("#box"); element.classList.add("active", "highlighted"); ```
<div id="box" class="active highlighted"></div>================================================ FILE: source/_jsusecases/add-object-to-localstorage.md ================================================ --- extends: _layouts.usecase date: 2017-12-19 link: https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage reference: Window.localStorage related: add-item-to-localstorage,remove-item-from-localstorage category: storage --- ```javascript const user = { id: 1, first_name: "John", last_name: "Doe" }; localStorage.setItem("user", JSON.stringify(user)); ``` ================================================ FILE: source/_jsusecases/append-html.md ================================================ --- extends: _layouts.usecase date: 2018-07-28 link: https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentHTML reference: Element.insertAdjacentHTML category: DOM --- ```html
[19, 21, 22, 31]================================================ FILE: source/_jsusecases/async-await-fetch.md ================================================ --- extends: _layouts.usecase date: 2024-02-13 link: https://learnjavascript.online/topics/fetch.html?utm_source=codetogo.io reference_website: Learn JavaScript reference: Fetch API use cases related: fetch-json category: JSON extra: https://learnjavascript.online/topics/fetch.html?utm_source=codetogo.io --- ```javascript (async () => { try { const response = await fetch("https://codetogo.io/api/users.json"); const data = await response.json(); console.log(data); } catch (err) { console.error(err); } })(); ```
[{
id: 1,
name: "Sam"
}, {
id: 2,
name: "Alex"
}]
================================================
FILE: source/_jsusecases/async-await.md
================================================
---
extends: _layouts.usecase
date: 2024-02-28
link: https://learnjavascript.online/topics/promises.html?utm_source=codetogo.io
reference: Promises
reference_website: Learn JavaScript
category: Promise
author: "Vijay Singh"
---
```javascript
(async () => {
try {
const response = await fetch("https://codetogo.io/api/users.json");
const data = await response.json();
console.log(data);
} catch (err) {
console.error(err);
}
})();
```
[{
id: 1,
name: "Sam"
}, {
id: 2,
name: "Alex"
}]
================================================
FILE: source/_jsusecases/call-a-function-with-arguments.md
================================================
---
extends: _layouts.usecase
date: 2017-12-18
link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Functions
reference: Functions
related: call-a-function
category: functions
---
```javascript
function greetUser(name) {
return `Welcome ${name} to code to go!`;
}
let result = greetUser("John");
console.log(result);
```
Welcome John to code to go!================================================ FILE: source/_jsusecases/call-a-function.md ================================================ --- extends: _layouts.usecase date: 2017-12-17 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Functions reference: Functions related: call-a-function-with-arguments category: functions --- ```javascript function greetUser() { return "Welcome to code to go!"; } let result = greetUser(); console.log(result); ```
Welcome to code to go!================================================ FILE: source/_jsusecases/capitalize-first-letter.md ================================================ --- extends: _layouts.usecase date: 2018-12-26 category: strings --- ```javascript let str = "welcome to code to go"; str = str[0].toUpperCase() + str.substring(1); ```
Welcome to code to go================================================ FILE: source/_jsusecases/change-CSS-property.md ================================================ --- extends: _layouts.usecase date: 2018-03-11 category: DOM --- ```html ``` ```javascript const element = document.querySelector("#box"); //change background-color element.style.backgroundColor = "red"; ``` ================================================ FILE: source/_jsusecases/check-if-array-includes-element.md ================================================ --- extends: _layouts.usecase date: 2017-12-16 link: https://blog.learnjavascript.online/posts/javascript-in-array/ reference_website: Learn JavaScript Blog reference: JavaScript in array category: arrays --- ```javascript const apps = ["phone", "calculator", "clock"]; apps.includes("calculator"); ```
true================================================ FILE: source/_jsusecases/check-if-element-has-class.md ================================================ --- extends: _layouts.usecase date: 2024-02-26 link: https://blog.learnjavascript.online/posts/javascript-has-class/ reference_website: Learn JavaScript Blog reference: JavaScript has class category: DOM --- ```html ``` ```javascript const element = document.querySelector("#box"); // Check if hasclass // Result is a boolean element.classList.contains("active"); ```
true================================================ FILE: source/_jsusecases/check-if-number-is-even.md ================================================ --- extends: _layouts.usecase date: 2017-12-23 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Remainder_() reference: Remainder related: check-if-number-is-odd category: numbers --- ```javascript const number = 12; const isEven = number % 2 === 0; console.log(isEven); ```
true================================================ FILE: source/_jsusecases/check-if-number-is-odd.md ================================================ --- extends: _layouts.usecase date: 2017-12-23 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Remainder_() reference: Remainder related: check-if-number-is-even category: numbers --- ```javascript const number = 13; const isOdd = number % 2 !== 0; console.log(isOdd); ```
true================================================ FILE: source/_jsusecases/check-if-object-includes-substring.md ================================================ --- extends: _layouts.usecase date: 2018-01-28 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects/Object/values reference: Object.values related: check-if-object-includes-value category: objects --- ```javascript const person = { first_name: "Joan", last_name: "Leon", twitter: "@nucliweb" }; Object.values(person) .toString() .includes("web"); ```
true================================================ FILE: source/_jsusecases/check-if-object-includes-value.md ================================================ --- extends: _layouts.usecase date: 2024-02-26 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects/Object/values reference: Object.values related: check-if-object-includes-substring category: objects --- ```javascript const person = { firstName: "Sam", lastName: "Bradley" }; // Result is a boolean Object.values(person).includes("Bradley"); ```
true================================================ FILE: source/_jsusecases/check-if-object-is-empty.md ================================================ --- extends: _layouts.usecase date: 2024-02-27 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys reference: Object.keys related: pause-audio,stop-audio category: DOM --- ```javascript const obj = {}; const isEmpty = Object.keys(obj).length === 0; ```
true================================================ FILE: source/_jsusecases/check-if-string-ends-with-substring.md ================================================ --- extends: _layouts.usecase date: 2018-02-01 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith reference: String.endsWith related: check-if-string-starts-with-substring category: strings --- ```javascript const string = "js is awesome"; string.endsWith("awesome"); ```
true================================================ FILE: source/_jsusecases/check-if-string-includes-another-string.md ================================================ --- extends: _layouts.usecase date: 2017-12-16 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes reference: String.includes category: strings --- ```javascript const text = "Code to go has awesome use cases!"; text.includes("Code to go"); ```
true================================================ FILE: source/_jsusecases/check-if-string-starts-with-substring.md ================================================ --- extends: _layouts.usecase date: 2018-02-01 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith reference: String.startsWith related: check-if-string-ends-with-substring category: strings --- ```javascript const string = "js is awesome"; string.startsWith("js"); ```
true================================================ FILE: source/_jsusecases/check-if-variable-is-a-string.md ================================================ --- extends: _layouts.usecase date: 2018-04-28 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof reference: typeof category: strings --- ```javascript const input = "potential string"; typeof input === "string"; ```
true================================================ FILE: source/_jsusecases/check-if-variable-is-an-object.md ================================================ --- extends: _layouts.usecase date: 2017-12-17 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString reference: Object.toString category: objects --- ```javascript const value = { name: "John" }; Object.prototype.toString.call(value) === "[object Object]"; ```
true================================================ FILE: source/_jsusecases/clear-interval.md ================================================ --- extends: _layouts.usecase date: 2019-01-28 link: https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/clearInterval reference: Window.clearInterval related: set-interval category: functions author: "Vijay Singh" --- ```javascript const intervalId = setInterval(() => { console.log("I will not be printed"); }, 2000); clearInterval(intervalId); ``` ================================================ FILE: source/_jsusecases/clear-timeout.md ================================================ --- extends: _layouts.usecase date: 2019-01-28 link: https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/clearTimeout reference: Window.clearTimeout related: set-timeout category: functions author: "Vijay Singh" --- ```javascript const timeOutId = setTimeout(() => { console.log("I will not be printed"); }, 2000); clearTimeout(timeOutId); ``` ================================================ FILE: source/_jsusecases/comment.md ================================================ --- extends: _layouts.usecase date: 2017-12-24 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#Comments reference: Comments category: syntax --- ```javascript //this is a one line comment /* And this is a comment that spans multiple lines */ ``` ================================================ FILE: source/_jsusecases/concatenate-arrays.md ================================================ --- extends: _layouts.usecase date: 2017-12-24 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator reference: Spread operator category: arrays related: concatenate-objects --- ```javascript const winners = ["Jane", "Bob"]; const losers = ["Ronald", "Kevin"]; const players = [...winners, ...losers]; ```
['Jane', 'Bob', 'Ronald', 'Kevin']================================================ FILE: source/_jsusecases/concatenate-objects.md ================================================ --- extends: _layouts.usecase date: 2018-02-16 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator reference: Spread operator category: objects related: concatenate-arrays --- ```javascript const defaultOptions = { verbose: false, src: "./src", dist: "./dist" }; const userOptions = { verbose: true }; const options = { ...defaultOptions, ...userOptions }; ```
{
verbose: true,
src: "./src",
dist: "./dist"
}
================================================
FILE: source/_jsusecases/convert-JSON-to-string.md
================================================
---
extends: _layouts.usecase
date: 2018-03-6
link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
reference: JSON.stringify
related: parse-JSON-string
category: JSON
---
```javascript
const object = {
id: 1,
name: "Leanne Graham"
};
JSON.stringify(object);
```
"{"id":1,"name":"Leanne Graham"}"
================================================
FILE: source/_jsusecases/convert-array-to-comma-separated-string.md
================================================
---
extends: _layouts.usecase
date: 2017-12-18
link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join
reference: Array.join
related: split-comma-separated-string
category: arrays
---
```javascript
const elements = ["Eat", "Sleep", "Code", "Repeat"];
elements.join(",");
```
Eat,Sleep,Code,Repeat================================================ FILE: source/_jsusecases/convert-date-to-mysql-format-YYYY-MM-DD.md ================================================ --- extends: _layouts.usecase date: 2019-12-01 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString reference: Date.toISOString category: datetime --- ```javascript const date = new Date(); //YYYY-MM-DD format const mysqlDate = date.toISOString().split("T")[0]; ```
2019-12-01================================================ FILE: source/_jsusecases/convert-date-to-timestamp.md ================================================ --- extends: _layouts.usecase date: 2017-12-26 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime reference: Date.getTime category: datetime --- ```javascript const date = new Date("Jan 10, 2000"); const timestamp = date.getTime(); ```
947455200000================================================ FILE: source/_jsusecases/convert-from-degree-to-radian.md ================================================ --- extends: _layouts.usecase date: 2017-12-21 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/PI reference: Math.PI category: numbers --- ```javascript const degree = 90; const radians = degree * (Math.PI / 180); ```
1.5707963267948966================================================ FILE: source/_jsusecases/convert-string-to-number.md ================================================ --- extends: _layouts.usecase date: 2017-11-11 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseInt reference: Number.parseInt category: numbers --- ```javascript Number.parseInt("24", 10); ```
24================================================ FILE: source/_jsusecases/copy-text-to-clipboard.md ================================================ --- extends: _layouts.usecase date: 2018-02-19 link: https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand reference: Document.execCommand category: strings --- ```javascript const textToCopy = "npm install webdash"; const el = document.createElement("textarea"); el.textContent = textToCopy; el.style.cssText = "position: absolute;left:-500%"; document.body.appendChild(el); el.select(); document.execCommand("copy"); el.remove(); ``` ================================================ FILE: source/_jsusecases/create-a-promise.md ================================================ --- extends: _layouts.usecase date: 2024-02-28 link: https://learnjavascript.online/topics/promises.html?utm_source=codetogo.io reference: Promises reference_website: Learn JavaScript related: async-await category: promise --- ```javascript new Promise((resolve, reject) => { // Do some work // then in case of success resolve(); // or reject("failure reason"); }); ``` ================================================ FILE: source/_jsusecases/create-a-range-array.md ================================================ --- extends: _layouts.usecase date: 2024-02-27 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys reference: Object.keys category: Arrays --- ```javascript // Create a range from 0 to 4 [...Array(5).keys()]; ```
[0, 1, 2, 3, 4]================================================ FILE: source/_jsusecases/create-a-regex.md ================================================ --- extends: _layouts.usecase date: 2017-11-11 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp reference: RegExp category: regex --- ```javascript let pattern = /hello world/; ``` ================================================ FILE: source/_jsusecases/create-a-switch-statement.md ================================================ --- extends: _layouts.usecase date: 2017-12-24 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch reference: switch category: syntax --- ```javascript let key = "right"; switch (key) { case "right": console.log("Go right"); break; case "left": console.log("Go left"); break; } ```
Go right================================================ FILE: source/_jsusecases/create-an-object.md ================================================ --- extends: _layouts.usecase date: 2017-11-11 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object reference: Object category: objects --- ```javascript const person = { key: "value", first_name: "John", last_name: "Doe" }; ``` ================================================ FILE: source/_jsusecases/create-array-from-existing-array.md ================================================ --- extends: _layouts.usecase date: 2017-12-21 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator reference: Spread operator related: add-item-to-sessionstorage category: arrays --- ```javascript const apps = ["phone", "calculator", "clock"]; const clonedApps = [...apps]; ```
["phone", "calculator", "clock"]================================================ FILE: source/_jsusecases/create-date-in-RFC3339-format.md ================================================ --- extends: _layouts.usecase date: 2024-02-26 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString reference: Date.toISOString() related: get-human-friendly-date-difference category: datetime --- ```javascript const date = new Date(); // RFC 3339 format const rfc339 = date.toISOString(); ```
2024-02-26T20:11:23.708Z================================================ FILE: source/_jsusecases/create-logical-AND-condition.md ================================================ --- extends: _layouts.usecase date: 2018-01-02 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators reference: Logical operators related: create-logical-OR-condition category: syntax --- ```javascript const isLearning = true; const isOverwhelmed = true; if (isLearning && isOverwhelmed) { console.log("Take a break"); } ```
Take a break================================================ FILE: source/_jsusecases/create-logical-NOT-condition.md ================================================ --- extends: _layouts.usecase date: 2018-01-02 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators reference: Logical operators category: syntax --- ```javascript const isOverage = false; if (!isOverage) { console.log("You are underage"); } ```
You are underage================================================ FILE: source/_jsusecases/create-logical-OR-condition.md ================================================ --- extends: _layouts.usecase date: 2018-01-02 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators reference: Logical operators related: create-logical-AND-condition category: syntax --- ```javascript const isUnderage = true; const isDrunk = false; if (isUnderage || isDrunk) { console.log("Cannot drive"); } ```
Cannot drive================================================ FILE: source/_jsusecases/create-object-from-array.md ================================================ --- extends: _layouts.usecase date: 2020-02-18 category: arrays --- ```javascript const apps = ["phone", "calculator", "clock"]; const object = { ...apps }; console.log(object); ```
{
0: "phone",
1: "calculator",
2: "clock"
}
================================================
FILE: source/_jsusecases/create-shallow-copy-of-object.md
================================================
---
extends: _layouts.usecase
date: 2018-08-14
link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator
reference: Spread operator
category: objects
---
```javascript
const person = {
id: 1,
name: {
first: "John",
last: "Doe"
}
};
const duplicate = { ...person };
```
{
id: 1,
name: {
first: 'John',
last: 'Doe'
}
}
================================================
FILE: source/_jsusecases/create-string-from-character-code.md
================================================
---
extends: _layouts.usecase
date: 2017-12-23
link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode
reference: String.fromCharCode
category: strings
---
```javascript
String.fromCharCode(67, 111, 111, 108, 46);
```
Cool.================================================ FILE: source/_jsusecases/decode-url.md ================================================ --- extends: _layouts.usecase date: 2017-12-18 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent reference: decodeURIComponent related: encode-url category: URL --- ```javascript const search = "hello%20world%3F"; decodeURIComponent(search); ```
hello world?================================================ FILE: source/_jsusecases/decrement-a-variable.md ================================================ --- extends: _layouts.usecase date: 2024-02-27 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators reference: Arithmetic operators related: increment-a-variable category: numbers --- ```javascript let limit = 10; limit--; console.log(limit); ```
9================================================ FILE: source/_jsusecases/define-a-class.md ================================================ --- extends: _layouts.usecase date: 2017-12-18 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes reference: Classes category: syntax --- ```javascript class Pencil { constructor(price) { this.price = price; } isExpensive() { return this.price >= 10; } } //usage const bic = new Pencil(3); bic.isExpensive(); ```
false================================================ FILE: source/_jsusecases/define-a-function-with-default-parameter.md ================================================ --- extends: _layouts.usecase date: 2017-12-18 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters reference: Default parameters category: syntax --- ```javascript function greetUser(name = "user") { return `Welcome ${name} to code to go!`; } let result = greetUser(); console.log(result); ```
Welcome user to code to go!================================================ FILE: source/_jsusecases/define-variable.md ================================================ --- extends: _layouts.usecase date: 2024-02-27 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let reference: let category: syntax --- ```javascript // Variables that can be re-assigned let counter = 0; counter += 1; // Variables that cannot be re-assigned const ageLimit = 18; ``` ================================================ FILE: source/_jsusecases/delete-item-from-array.md ================================================ --- extends: _layouts.usecase date: 2017-12-23 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice reference: Array.splice category: arrays --- ```javascript const apps = ["phone", "calculator", "codetogo", "clock"]; apps.splice(2, 1); console.log(apps); ```
["phone", "calculator", "clock"]================================================ FILE: source/_jsusecases/destructure-from-array.md ================================================ --- extends: _layouts.usecase date: 2017-12-16 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Array_destructuring reference: Array destructuring related: destructure-from-object,destructure-with-default-value category: syntax --- ```javascript const [lat, lng] = [52.369661, 4.897243]; console.log(lat, lng); ```
52.369661 4.897243================================================ FILE: source/_jsusecases/destructure-from-object.md ================================================ --- extends: _layouts.usecase date: 2017-12-16 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Object_destructuring reference: Object destructuring related: destructure-from-array,destructure-with-default-value category: syntax --- ```javascript const { lat, lng } = { lat: 52.369661, lng: 4.897243, elevation: -2 }; console.log(lat, lng); ```
52.369661 4.897243================================================ FILE: source/_jsusecases/destructure-with-default-value.md ================================================ --- extends: _layouts.usecase date: 2017-12-23 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Array_destructuring reference: Array destructuring related: destructure-from-array,destructure-from-object category: syntax --- ```javascript const { id, active = true } = { id: 10, name: "John" }; console.log(id, active); ```
10 true================================================ FILE: source/_jsusecases/empty-array.md ================================================ --- extends: _layouts.usecase date: 2017-12-16 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length reference: Array.length category: arrays --- ```javascript const apps = ["phone", "calculator", "clock"]; apps.length = 0; console.log(apps); ```
[]================================================ FILE: source/_jsusecases/encode-url.md ================================================ --- extends: _layouts.usecase date: 2017-12-18 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent reference: encodeURIComponent related: decode-url category: URL --- ```javascript const query = encodeURIComponent("hello world?"); //safe to add to URL const url = `https://google.com/search?q=${query}`; ```
https://google.com/search?q=hello%20world%3F================================================ FILE: source/_jsusecases/fetch-XML.md ================================================ --- extends: _layouts.usecase date: 2024-02-26 link: https://learnjavascript.online/topics/fetch.html?utm_source=codetogo.io reference_website: Learn JavaScript reference: Fetch API use cases related: async-await-fetch category: JSON extra: https://learnjavascript.online/topics/fetch.html?utm_source=codetogo.io --- ```javascript fetch("https://codetogo.io/api/users.xml") .then(response => response.text()) .then(data => { const parser = new DOMParser(); const xml = parser.parseFromString(data, "application/xml"); console.log(xml); }) .catch(console.error); ```
<users>
<user>
<id>1</id>
<name>Alex</name>
</user>
<user>
<id>2</id>
<name>Sam</name>
</user>
</users>
================================================
FILE: source/_jsusecases/fetch-json.md
================================================
---
extends: _layouts.usecase
date: 2024-02-13
link: https://learnjavascript.online/topics/fetch.html?utm_source=codetogo.io
reference_website: Learn JavaScript
reference: Fetch API use cases
related: async-await-fetch
category: JSON
---
```javascript
fetch("https://codetogo.io/api/users.json")
.then(response => response.json())
.then(data => {
console.log(data);
})
.catch(console.error);
```
[{
id: 1,
name: "Sam"
}, {
id: 2,
name: "Alex"
}]
================================================
FILE: source/_jsusecases/fetch-post-json.md
================================================
---
extends: _layouts.usecase
date: 2024-02-13
link: https://learnjavascript.online/topics/fetch.html?utm_source=codetogo.io
reference_website: Learn JavaScript
reference: Fetch API use cases
related: fetch-json
category: JSON
extra: https://learnjavascript.online/topics/fetch.html?utm_source=codetogo.io
---
```javascript
fetch("https://codetogo.io/api/users.json", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
key1: "value1"
})
})
.then(response => response.json())
.then(data => {
console.log(data);
})
.catch(console.error);
```
[{
id: 1,
name: "Sam"
}, {
id: 2,
name: "Alex"
}]
================================================
FILE: source/_jsusecases/filter-objects-in-array.md
================================================
---
extends: _layouts.usecase
date: 2017-12-18
link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
reference: Array.filter
category: arrays
---
```javascript
const friends = [
{ name: "Abby", age: 22 },
{ name: "Boby", age: 16 },
{ name: "Coel", age: 20 },
{ name: "Dany", age: 15 }
];
//who can drink?
friends.filter(friend => friend.age >= 18);
```
[
{ name: 'Abby', age: 22 },
{ name: 'Coel', age: 20 },
]
================================================
FILE: source/_jsusecases/find-an-element-from-the-DOM.md
================================================
---
extends: _layouts.usecase
date: 2018-03-11
link: https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector
reference: Document.querySelector
related: find-element-by-id,find-element-by-class,find-multiple-DOM-elements
category: DOM
---
```html
```
```javascript
const box = document.querySelector("#box");
const title = document.querySelector(".title");
```
================================================
FILE: source/_jsusecases/find-element-by-class.md
================================================
---
extends: _layouts.usecase
date: 2018-03-11
link: https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector
reference: Document.querySelector
related: find-element-by-id,find-multiple-DOM-elements,find-an-element-from-the-DOM
category: DOM
---
```html
```
```javascript
const element = document.querySelector(".box");
```
================================================
FILE: source/_jsusecases/find-element-by-id.md
================================================
---
extends: _layouts.usecase
date: 2018-03-11
link: https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementById
reference: Document.getElementById
related: find-element-by-class,find-multiple-DOM-elements,find-an-element-from-the-DOM
category: DOM
---
```html
```
```javascript
const element = document.getElementById("box");
// OR
const alt = documnet.querySelector("#box");
```
================================================
FILE: source/_jsusecases/find-index-of-element-in-array.md
================================================
---
extends: _layouts.usecase
date: 2018-03-29
link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf
reference: Array.indexOf
category: arrays
---
```javascript
const colors = ["red", "green", "blue"];
colors.indexOf("green");
```
1================================================ FILE: source/_jsusecases/find-multiple-DOM-elements.md ================================================ --- extends: _layouts.usecase date: 2018-03-11 link: https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll reference: Document.querySelectorAll related: find-element-by-id,find-element-by-class,find-an-element-from-the-DOM category: DOM --- ```html ``` ```javascript const elements = document.querySelectorAll(".boxes"); ``` ================================================ FILE: source/_jsusecases/find-next-element.md ================================================ --- extends: _layouts.usecase date: 2024-02-26 link: https://developer.mozilla.org/en-US/docs/Web/API/NonDocumentTypeChildNode/nextElementSibling reference: nextElementSibling related: find-previous-element category: DOM --- ```html
<div>Next element</div>================================================ FILE: source/_jsusecases/find-previous-element.md ================================================ --- extends: _layouts.usecase date: 2018-03-11 link: https://developer.mozilla.org/en-US/docs/Web/API/NonDocumentTypeChildNode/previousElementSibling reference: previousElementSibling related: find-next-element category: DOM --- ```html ``` ```javascript const box2 = document.querySelector("#box2"); const box1 = box2.previousElementSibling; ``` ================================================ FILE: source/_jsusecases/find-root-of-positive-number.md ================================================ --- extends: _layouts.usecase date: 2017-12-26 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/pow reference: Math.pow category: numbers --- ```javascript const number = 16; const result = Math.pow(number, 1 / 2); ```
4================================================ FILE: source/_jsusecases/flatten-a-nested-array.md ================================================ --- extends: _layouts.usecase date: 2018-02-21 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array reference: Array category: arrays --- ```javascript const nestedArray = [1, [2], [[3], 4], 5]; const flatten = nestedArray => nestedArray.reduce( (flat, item) => flat.concat(Array.isArray(item) ? flatten(item) : [item]), [] ); flatten(nestedArray); ```
[1, 2, 3, 4, 5 ]================================================ FILE: source/_jsusecases/format-currency-as-per-locale.md ================================================ --- extends: _layouts.usecase date: 2018-03-04 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString reference: Number.toLocaleString category: numbers --- ```javascript const amount = 1999.9; const options = { style: "currency", currency: "USD" }; amount.toLocaleString("en-US", options); ```
$1,999.90================================================ FILE: source/_jsusecases/format-date.md ================================================ --- extends: _layouts.usecase date: 2020-08-16 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat reference: Intl.DateTimeFormat related: get-current-day-name,get-current-month-name category: datetime --- ```javascript const date = new Date(); // remove an option to hide it from the output const options = { weekday: "long", // or: "short", "numeric" month: "long", //or: "short", "numeric" day: "numeric", year: "numeric", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }; // replace "en-US" with undefined to use the user's locale new Intl.DateTimeFormat("en-US", options).format(date); ```
Sunday, August 16, 2020, 7:34:44 PM================================================ FILE: source/_jsusecases/generate-random-string.md ================================================ --- extends: _layouts.usecase date: 2018-03-12 category: strings --- ```javascript const length = 20; //should NOT be used for cryptography const randomString = [...Array(length)] .map(() => Math.random().toString(36)[5]) .join(""); ```
ga6fr8rf7uan1yn2adqy================================================ FILE: source/_jsusecases/get-CSS-custom-property.md ================================================ --- extends: _layouts.usecase date: 2018-03-12 link: https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration/getPropertyValue reference: Style.getPropertyValue related: set-CSS-custom-property category: DOM --- ```css :root { --primary-color: #ececec; } ``` ```javascript const color = getComputedStyle(document.body).getPropertyValue( "--primary-color" ); ```
#ECECEC================================================ FILE: source/_jsusecases/get-CSS-property.md ================================================ --- extends: _layouts.usecase date: 2018-07-29 link: https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle reference: Window.getComputedStyle related: change-CSS-property category: DOM --- ```css #box { padding: 15px; } ``` ```html ``` ```javascript const div = document.querySelector("#box"); const padding = getComputedStyle(div).padding; ```
15px================================================ FILE: source/_jsusecases/get-count-of-DOM-elements.md ================================================ --- extends: _layouts.usecase date: 2018-03-09 link: https://developer.mozilla.org/en-US/docs/Web/API/NodeList/length reference: NodeList.length category: DOM --- ```html ``` ```javascript const elements = document.querySelectorAll(".title"); const length = elements.length; ```
2================================================ FILE: source/_jsusecases/get-count-of-character-in-string.md ================================================ --- extends: _layouts.usecase date: 2018-02-16 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split reference: String.split category: strings --- ```javascript const name = "Jad Joubran"; const countJ = name.split("J").length - 1; ```
2================================================ FILE: source/_jsusecases/get-count-of-duplicate-items-in-array.md ================================================ --- extends: _layouts.usecase date: 2018-01-08 category: arrays --- ```javascript const chars = ["a", "b", "c", "a", "a", "c"]; let result = {}; result = chars.reduce((acc, item) => { acc[item] = acc[item] ? ++acc[item] : 1; return acc; }, result); ```
{
a: 3,
b: 1,
c: 2
}
================================================
FILE: source/_jsusecases/get-current-day-name.md
================================================
---
extends: _layouts.usecase
date: 2017-12-29
link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat
reference: Intl.DateTimeFormat
related: get-current-short-day-name,get-current-month-name
category: datetime
---
```javascript
const date = Date.now();
const options = { weekday: "long" };
new Intl.DateTimeFormat("en-US", options).format(date);
```
Friday================================================ FILE: source/_jsusecases/get-current-month-name.md ================================================ --- extends: _layouts.usecase date: 2017-12-29 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat reference: Intl.DateTimeFormat related: get-current-short-month-name,get-current-day-name category: datetime --- ```javascript const date = Date.now(); const options = { month: "long" }; new Intl.DateTimeFormat("en-US", options).format(date); ```
December================================================ FILE: source/_jsusecases/get-current-page-url.md ================================================ --- extends: _layouts.usecase date: 2017-12-16 link: https://developer.mozilla.org/en-US/docs/Web/API/Window/location reference: Window.location category: URL --- ```javascript window.location.href; ```
https://codetogo.io/how-to-get-current-page-url-in-javascript/================================================ FILE: source/_jsusecases/get-current-short-day-name.md ================================================ --- extends: _layouts.usecase date: 2018-01-04 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat reference: Intl.DateTimeFormat related: get-current-day-name,get-current-month-name category: datetime --- ```javascript const date = Date.now(); const options = { weekday: "short" }; new Intl.DateTimeFormat("en-US", options).format(date); ```
Thu================================================ FILE: source/_jsusecases/get-current-short-month-name.md ================================================ --- extends: _layouts.usecase date: 2018-01-04 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat reference: Intl.DateTimeFormat related: get-current-month-name,get-current-day-name category: datetime --- ```javascript const date = Date.now(); const options = { month: "short" }; new Intl.DateTimeFormat("en-US", options).format(date); ```
Jan================================================ FILE: source/_jsusecases/get-current-timestamp-in-seconds.md ================================================ --- extends: _layouts.usecase date: 2017-12-26 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now reference: Date.now related: get-current-timestamp category: datetime --- ```javascript const timestamp = Math.floor(Date.now() / 1000); console.log(timestamp); //in seconds ```
1514300500================================================ FILE: source/_jsusecases/get-current-timestamp.md ================================================ --- extends: _layouts.usecase date: 2017-12-26 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now reference: Date.now related: get-current-timestamp-in-seconds category: datetime --- ```javascript const timestamp = Date.now(); console.log(timestamp); //in milliseconds ```
1514300333756================================================ FILE: source/_jsusecases/get-current-year.md ================================================ --- extends: _layouts.usecase date: 2018-01-04 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getFullYear reference: Date.getFullYear related: get-current-day-name,get-current-month-name category: datetime --- ```javascript const date = new Date(); const year = date.getFullYear(); ```
2018================================================ FILE: source/_jsusecases/get-data-attribute-from-element.md ================================================ --- extends: _layouts.usecase date: 2018-07-28 link: https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes reference: dataset category: DOM --- ```html ``` ```javascript const box = document.querySelector("#box"); const userId = box.dataset.userId; ```
123================================================ FILE: source/_jsusecases/get-division-remainder.md ================================================ --- extends: _layouts.usecase date: 2018-03-08 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Remainder_() reference: Remainder category: numbers --- ```javascript const even = 8 % 2; const odd = 5 % 2; console.log({ even, odd }); ```
{
even: 0,
odd: 1
}
================================================
FILE: source/_jsusecases/get-extension-from-input-type-file.md
================================================
---
extends: _layouts.usecase
date: 2018-12-26
category: functions
---
```html
```
```javascript
const upload = document.querySelector("#upload");
upload.addEventListener("change", event => {
const file = event.currentTarget.value;
if (!file) {
return false;
}
const extension = file.substring(file.lastIndexOf(".") + 1);
});
```
================================================
FILE: source/_jsusecases/get-file-name-from-path.md
================================================
---
extends: _layouts.usecase
date: 2018-12-26
link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf
reference: String.lastIndexOf
related: get-path-from-full-path
category: strings
---
```javascript
const url = "/Users/code/codetogo/index.html";
url.substring(url.lastIndexOf("/") + 1);
```
index.html================================================ FILE: source/_jsusecases/get-first-character-of-string.md ================================================ --- extends: _layouts.usecase date: 2018-12-26 related: get-last-character-of-string category: strings --- ```javascript const name = "William moore"; name[0]; ```
W================================================ FILE: source/_jsusecases/get-function-arguments-as-array.md ================================================ --- extends: _layouts.usecase date: 2017-12-19 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator reference: Spread operator category: functions --- ```javascript function log(...msgs) { //msgs is now an array console.log(`Received ${msgs.length} messages`); } log("code", "to", "go"); log("code", "to", "go", "is", "cool"); ```
Received 3 messages Received 5 messages================================================ FILE: source/_jsusecases/get-human-friendly-date-difference.md ================================================ --- extends: _layouts.usecase date: 2024-02-27 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat reference: Intl.RelativeTimeFormat related: get-minutes-ago,create-date-in-RFC3339-format category: datetime --- ```javascript const formatter = new Intl.RelativeTimeFormat("en"); const t1 = 1709042520000; const t2 = 1709042400000; // Date diff & convert from ms to minutes const diff = (t2 - t1) / 60 / 1000; formatter.format(diff, "minutes"); ```
2 minutes ago================================================ FILE: source/_jsusecases/get-item-from-localstorage.md ================================================ --- extends: _layouts.usecase date: 2017-12-19 link: https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage reference: Window.localStorage related: add-item-to-localstorage category: storage --- ```javascript localStorage.getItem("name"); ``` ================================================ FILE: source/_jsusecases/get-item-from-sessionstorage.md ================================================ --- extends: _layouts.usecase date: 2017-12-21 link: https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage reference: Window.sessionStorage related: add-item-to-sessionstorage category: storage --- ```javascript sessionStorage.getItem("name"); ``` ================================================ FILE: source/_jsusecases/get-keys-of-object.md ================================================ --- extends: _layouts.usecase date: 2017-12-16 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys reference: Object.keys category: objects --- ```javascript const person = { key: "value", first_name: "John", last_name: "Doe" }; Object.keys(person); ```
['key', 'first_name', 'last_name']================================================ FILE: source/_jsusecases/get-last-array-element.md ================================================ --- extends: _layouts.usecase date: 2024-02-28 link: https://blog.learnjavascript.online/posts/javascript-at-method/ reference: String.at() reference_website: Learn JavaScript Blog category: arrays related: get-last-character-of-string --- ```javascript const apps = ["phone", "calculator", "clock"]; apps.at(-1); ```
"clock"================================================ FILE: source/_jsusecases/get-last-character-of-string.md ================================================ --- extends: _layouts.usecase date: 2022-08-18 link: https://blog.learnjavascript.online/posts/javascript-at-method/ reference: String.at() reference_website: Learn JavaScript Blog related: get-first-character-of-string,get-last-array-element category: strings --- ```javascript const name = "Lewis"; name.at(-1); ```
s================================================ FILE: source/_jsusecases/get-length-of-array.md ================================================ --- extends: _layouts.usecase date: 2017-12-29 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length reference: Array.length category: arrays --- ```javascript const apps = ["phone", "calculator", "clock"]; const count = apps.length; ```
3================================================ FILE: source/_jsusecases/get-length-of-string.md ================================================ --- extends: _layouts.usecase date: 2017-12-29 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length reference: String.length category: strings --- ```javascript const name = "Penny"; console.log(name.length); ```
5================================================ FILE: source/_jsusecases/get-minutes-ago.md ================================================ --- extends: _layouts.usecase date: 2024-02-27 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat reference: Intl.RelativeTimeFormat related: get-human-friendly-date-difference,create-date-in-RFC3339-format category: datetime --- ```javascript const formatter = new Intl.RelativeTimeFormat("en", { // Change to "short" for min. (instead of minutes) style: "long" }); // -5 can be the difference between 2 date objects formatter.format(-5, "minutes"); ```
5 minutes ago================================================ FILE: source/_jsusecases/get-path-from-full-path.md ================================================ --- extends: _layouts.usecase date: 2018-12-26 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf reference: String.lastIndexOf related: get-file-name-from-path category: strings --- ```javascript const url = "/Users/code/codetogo/index.html"; url.substring(0, url.lastIndexOf("/") + 1); ```
/Users/code/codetogo/================================================ FILE: source/_jsusecases/get-port-from-url.md ================================================ --- extends: _layouts.usecase date: 2018-04-28 link: https://developer.mozilla.org/en-US/docs/Web/API/Location reference: Location.port related: get-current-page-url category: URL --- ```javascript window.location.port; ``` ================================================ FILE: source/_jsusecases/get-random-element-from-array.md ================================================ --- extends: _layouts.usecase date: 2022-08-18 link: https://blog.learnjavascript.online/posts/javascript-at-method/ reference: String.at() reference_website: Learn JavaScript Blog category: arrays --- ```javascript const names = ["Sam", "Alex", "Charley"]; names.at(Math.random() * names.length); ```
a random element from the names array================================================ FILE: source/_jsusecases/get-random-hex-color.md ================================================ --- extends: _layouts.usecase date: 2020-02-18 category: numbers --- ```javascript const hex = Math.floor(Math.random() * 0xffffff) .toString(16) .padStart(6, "0"); const color = `#${hex}`; console.log(color); ```
#a75d43================================================ FILE: source/_jsusecases/get-random-number-between-two-numbers.md ================================================ --- extends: _layouts.usecase date: 2018-01-08 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random reference: Math.random category: numbers --- ```javascript const min = 0; const max = 10; let rand; rand = Math.floor(Math.random() * (max - min + 1)) + min; ```
a random number between 0 and 10 inclusive================================================ FILE: source/_jsusecases/get-unique-values-from-object-array-property.md ================================================ --- extends: _layouts.usecase date: 2018-03-06 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set reference: Set category: objects related: remove-duplicates-from-array --- ```javascript const objects = [ { id: 1, category: "Cars" }, { id: 2, category: "Cars" }, { id: 3, category: "Smatphones" }, { id: 4, category: "Cars" }, { id: 5, category: "Tablet" } ]; const categories = [...new Set(objects.map(object => object.category))]; ```
["Cars", "Smartphones", "Tablet"]================================================ FILE: source/_jsusecases/get-url-search-params.md ================================================ --- extends: _layouts.usecase date: 2018-03-04 link: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams reference: URLSearchParams related: set-url-search-params category: URL --- ```javascript //https://codetogo.io?lang=en const url = new URL(document.location); const lang = url.searchParams.get("lang"); ```
en================================================ FILE: source/_jsusecases/hide-element.md ================================================ --- extends: _layouts.usecase date: 2018-03-11 related: show-element category: DOM --- ```html ``` ```javascript const element = document.querySelector("#box"); element.style.display = "none"; ``` ================================================ FILE: source/_jsusecases/increment-a-variable.md ================================================ --- extends: _layouts.usecase date: 2024-02-27 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators reference: Arithmetic operators related: decrement-a-variable category: syntax --- ```javascript let counter = 0; counter++; console.log(counter); ```
1================================================ FILE: source/_jsusecases/interpolate.md ================================================ --- extends: _layouts.usecase date: 2024-02-26 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals reference: Template literals related: write-a-multiline-string category: strings --- ```javascript const name = "Sam"; console.log(`Welcome ${name}. You have ${2 * 5} new notifications!`); ```
Welcome Sam. You have 10 new notifications!================================================ FILE: source/_jsusecases/listen-to-click-event.md ================================================ --- extends: _layouts.usecase date: 2017-11-11 link: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener reference: EventTarget.addEventListener related: prevent-default-action-of-event category: DOM --- ```html ``` ```javascript const element = document.querySelector("#box"); element.addEventListener("click", event => { console.log("Element clicked"); }); ``` ================================================ FILE: source/_jsusecases/listen-to-hover-event.md ================================================ --- extends: _layouts.usecase date: 2024-02-26 link: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener reference: EventTarget.addEventListener category: DOM --- ```html ``` ```javascript const element = document.querySelector("#box"); element.addEventListener("mouseover", event => { console.log("Mouse in (over)"); }); element.addEventListener("mouseout", event => { console.log("Mouse out"); }); ``` ================================================ FILE: source/_jsusecases/listen-to-scroll-event.md ================================================ --- extends: _layouts.usecase date: 2018-11-05 link: https://developer.mozilla.org/en-US/docs/Web/Events/scroll category: DOM --- ```javascript window.addEventListener("scroll", event => { console.log("Window scrolled", event); }); ``` ================================================ FILE: source/_jsusecases/loop-backwards-through-array.md ================================================ --- extends: _layouts.usecase date: 2017-12-18 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse reference: Array.reverse related: loop-through-array category: arrays --- ```javascript const people = ["John", "Nicole", "Jad"]; for (const person of people.reverse()) { console.log(person); } ```
Jad Nicole John================================================ FILE: source/_jsusecases/loop-through-array.md ================================================ --- extends: _layouts.usecase date: 2020-02-22 link: https://blog.learnjavascript.online/posts/javascript-foreach-the-complete-guide/ reference: JavaScript forEach reference_website: Learn JavaScript Blog related: loop-through-object category: arrays --- ```javascript const people = ["Sam", "Alex", "Charlie"]; people.forEach(person => { console.log(person); }); ```
Sam Alex Charlie================================================ FILE: source/_jsusecases/loop-through-object.md ================================================ --- extends: _layouts.usecase date: 2017-11-11 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects/Object/values reference: Object.values category: objects --- ```javascript const repository = { id: 1, language: "javascript", public: true }; for (const value of Object.values(repository)) { console.log(value); } ```
1 javascript true================================================ FILE: source/_jsusecases/lowercase-a-string.md ================================================ --- extends: _layouts.usecase date: 2017-11-11 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLowerCase reference: String.toLowerCase related: uppercase-a-string category: strings --- ```javascript const text = "Hello World"; text.toLowerCase(); ```
hello world================================================ FILE: source/_jsusecases/manually-trigger-event-on-element.md ================================================ --- extends: _layouts.usecase date: 2018-03-11 link: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events reference: Events category: DOM --- ```html ``` ```javascript const button = document.querySelector("#submit"); //trigger click button.dispatchEvent(new Event("click")); ``` ================================================ FILE: source/_jsusecases/match-text-against-regex.md ================================================ --- extends: _layouts.usecase date: 2017-11-11 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp reference: RegExp related: create-a-regex category: regex --- ```javascript const result = "My age is 41".match(/\d+/); console.log(result); console.log(result[0]); ```
["41", index: 10, input: "My age is 41"] 41================================================ FILE: source/_jsusecases/open-url-in-new-tab.md ================================================ --- extends: _layouts.usecase date: 2018-04-28 link: https://developer.mozilla.org/en-US/docs/Web/API/Window/open reference: Window.open category: URL --- ```javascript window.open("https://example.com"); ``` ================================================ FILE: source/_jsusecases/parse-JSON-string.md ================================================ --- extends: _layouts.usecase date: 2018-01-11 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse reference: JSON.parse related: convert-JSON-to-string category: JSON --- ```javascript const string = '{"id":1,"name":"Leanne Graham"}'; JSON.parse(string); ```
{
id: 1,
name: "Leanne Graham"
}
================================================
FILE: source/_jsusecases/pause-audio.md
================================================
---
extends: _layouts.usecase
date: 2018-03-12
link: https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/pause
reference: HTMLMediaElement.pause
related: play-audio,stop-audio
category: DOM
---
```html
```
```javascript
const audio = document.querySelector("#audio");
audio.pause();
```
================================================
FILE: source/_jsusecases/pause-video.md
================================================
---
extends: _layouts.usecase
date: 2018-03-12
link: https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/pause
reference: HTMLMediaElement.pause
related: play-video,stop-video
category: DOM
---
```html
```
```javascript
const video = document.querySelector("#video");
video.pause();
```
================================================
FILE: source/_jsusecases/play-audio.md
================================================
---
extends: _layouts.usecase
date: 2018-03-12
link: https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/play
reference: HTMLMediaElement.play
related: pause-audio,stop-audio
category: DOM
---
```html
```
```javascript
const audio = document.querySelector("#audio");
audio.play();
```
================================================
FILE: source/_jsusecases/play-video.md
================================================
---
extends: _layouts.usecase
date: 2018-03-12
link: https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/play
reference: HTMLMediaElement.play
related: pause-video,stop-video
category: DOM
---
```html
```
```javascript
const video = document.querySelector("#video");
video.play();
```
================================================
FILE: source/_jsusecases/prevent-default-action-of-event.md
================================================
---
extends: _layouts.usecase
date: 2017-12-16
link: https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault
reference: Event.preventDefault
related: listen-to-click-event
category: DOM
---
```html
```
```javascript
const element = document.querySelector("#box");
element.addEventListener("click", event => {
event.preventDefault();
//Default action prevented
});
```
================================================
FILE: source/_jsusecases/redirect-to-another-page.md
================================================
---
extends: _layouts.usecase
date: 2017-12-16
link: https://developer.mozilla.org/en-US/docs/Web/API/Window/location
reference: Window.location
category: URL
---
```javascript
window.location.href = "https://codetogo.io";
```
================================================
FILE: source/_jsusecases/register-a-service-worker.md
================================================
---
extends: _layouts.usecase
date: 2018-03-12
link: https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerContainer/register
reference: ServiceWorkerContainer.register
category: PWA
---
```javascript
if ("serviceWorker" in navigator) {
window.addEventListener("load", () => {
navigator.serviceWorker
.register("/sw.js")
.then(registration => console.log(registration))
.catch(err => console.error(err));
});
}
```
================================================
FILE: source/_jsusecases/reload-page.md
================================================
---
extends: _layouts.usecase
date: 2017-11-11
link: https://developer.mozilla.org/en-US/docs/Web/API/Location/reload
reference: Location.reload
category: URL
---
```javascript
window.location.reload();
```
================================================
FILE: source/_jsusecases/remove-a-property-from-object.md
================================================
---
extends: _layouts.usecase
date: 2017-12-16
link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete
reference: delete
category: objects
---
```javascript
const repository = {
id: 1,
language: "javascript",
public: true
};
delete repository.id;
console.log(repository);
```
{
language: 'javascript',
public: true
}
================================================
FILE: source/_jsusecases/remove-class-from-element.md
================================================
---
extends: _layouts.usecase
date: 2018-03-11
link: https://developer.mozilla.org/en-US/docs/Web/API/Element/classList
reference: Element.classList
related: toggle-class-of-element,add-class-to-element,replace-a-class-of-element
category: DOM
---
```html
```
```javascript
const element = document.querySelector("#box");
element.classList.remove("class-name");
```
================================================
FILE: source/_jsusecases/remove-duplicates-from-array.md
================================================
---
extends: _layouts.usecase
date: 2018-03-06
link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set
reference: Set
category: arrays
related: get-unique-values-from-object-array-property
---
```javascript
const items = ["Cars", "Cars", "Smartphone", "Cars", "Tablet"];
const uniqueItems = [...new Set(items)];
```
["Cars", "Smartphone", "Tablet"]================================================ FILE: source/_jsusecases/remove-element-from-DOM.md ================================================ --- extends: _layouts.usecase date: 2018-03-10 link: https://developer.mozilla.org/en-US/docs/Web/API/ChildNode/remove reference: ChildNode.remove category: DOM --- ```html ``` ```javascript const element = document.querySelector("#box"); element.remove(); ``` ================================================ FILE: source/_jsusecases/remove-item-from-localstorage.md ================================================ --- extends: _layouts.usecase date: 2017-12-19 link: https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage reference: Window.localStorage related: add-item-to-localstorage category: storage --- ```javascript localStorage.removeItem("name"); ``` ================================================ FILE: source/_jsusecases/remove-multiple-classes-from-element.md ================================================ --- extends: _layouts.usecase date: 2018-09-22 link: https://developer.mozilla.org/en-US/docs/Web/API/Element/classList reference: Element.classList related: remove-class-from-element category: DOM --- ```html ``` ```javascript const element = document.querySelector("#box"); element.classList.remove("active", "highlighted"); ```
<div id="box"></div>================================================ FILE: source/_jsusecases/repeat-a-string.md ================================================ --- extends: _layouts.usecase date: 2020-08-16 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat reference: String.repeat category: strings --- ```javascript const string = "Code"; string.repeat(3); ```
"CodeCodeCode"================================================ FILE: source/_jsusecases/replace-a-class-of-element.md ================================================ --- extends: _layouts.usecase date: 2018-03-11 link: https://developer.mozilla.org/en-US/docs/Web/API/Element/classList reference: Element.classList related: remove-class-from-element,toggle-class-of-element,add-class-to-element category: DOM --- ```html ``` ```javascript const element = document.querySelector("#box"); element.classList.replace("old-class-name", "new-class-name"); ``` ================================================ FILE: source/_jsusecases/replace-all-occurrences-of-string.md ================================================ --- extends: _layouts.usecase date: 2017-12-16 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace reference: String.replace related: replace-spaces-with-dashes category: strings --- ```javascript const text = "We are outside. We are waiting."; text.replace(/We/g, "You"); ```
You are outside. You are waiting.================================================ FILE: source/_jsusecases/replace-element-content-HTML.md ================================================ --- extends: _layouts.usecase date: 2018-03-11 link: https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML reference: Element.innerHTML category: DOM --- ```html ``` ```javascript const element = document.querySelector("#box"); element.innerHTML = `
codetogo-saved-me-tons-of-time================================================ FILE: source/_jsusecases/reverse-elements-of-array.md ================================================ --- extends: _layouts.usecase date: 2017-12-19 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse reference: Array.reverse category: arrays --- ```javascript const data = [1, 2, 3, 4, 5]; const reversed = data.reverse(); ```
[5, 4, 3, 2, 1]================================================ FILE: source/_jsusecases/round-a-number.md ================================================ --- extends: _layouts.usecase date: 2020-02-18 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round reference: Math.round category: numbers --- ```javascript const number = 4.7138; Math.round(number); ```
5================================================ FILE: source/_jsusecases/set-CSS-custom-property.md ================================================ --- extends: _layouts.usecase date: 2018-03-12 link: https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration/setProperty reference: Style.setProperty related: get-CSS-custom-property category: DOM --- ```css :root { --primary-color: #ececec; } ``` ```javascript document.documentElement.style.setProperty("--primary-color", "#000000"); ``` ================================================ FILE: source/_jsusecases/set-interval.md ================================================ --- extends: _layouts.usecase date: 2018-11-05 link: https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setInterval reference: Window.setInterval category: functions --- ```javascript setInterval(() => { console.log("I am called every 5 seconds"); }, 5000); ```
I am called every 5 seconds================================================ FILE: source/_jsusecases/set-timeout.md ================================================ --- extends: _layouts.usecase date: 2018-11-05 link: https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout reference: Window.setTimeout category: functions --- ```javascript setTimeout(() => { console.log("I am called after 5 seconds"); }, 5000); ```
I am called after 5 seconds================================================ FILE: source/_jsusecases/set-url-search-params.md ================================================ --- extends: _layouts.usecase date: 2018-03-04 link: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams reference: URLSearchParams related: get-url-search-params category: URL --- ```javascript const url = new URL(document.location); url.searchParams.set("lang", "en"); console.log(url.href); ```
https://codetogo.io/how-to-set-url-search-params-in-javascript/?lang=en================================================ FILE: source/_jsusecases/show-element.md ================================================ --- extends: _layouts.usecase date: 2018-03-11 related: hide-element category: DOM --- ```html ``` ```css #box { display: none; } ``` ```javascript const element = document.querySelector("#box"); element.style.display = "block"; ``` ================================================ FILE: source/_jsusecases/skip-values-from-array-destructuring.md ================================================ --- extends: _layouts.usecase date: 2018-12-16 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Array_destructuring reference: Skip values from Array destructuring related: destructure-from-object,destructure-with-default-value category: syntax --- ```javascript const [, , elevation] = [52.369661, 4.897243, 3]; console.log(elevation); ```
3================================================ FILE: source/_jsusecases/smooth-scroll.md ================================================ --- extends: _layouts.usecase date: 2018-04-28 link: https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView reference: Element.scrollIntoView category: DOM --- ```html ``` ```javascript const element = document.querySelector("#box"); element.scrollIntoView({ behavior: "smooth" }); ``` ================================================ FILE: source/_jsusecases/sort-array-in-ascending-order.md ================================================ --- extends: _layouts.usecase date: 2017-12-23 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort reference: Array.sort related: sort-array-in-descending-order category: arrays --- ```javascript const numbers = [10, 20, 30, 100, 5, 1, 20]; numbers.sort((a, b) => a - b); console.log(numbers); ```
[1, 5, 10, 20, 20, 30, 100]================================================ FILE: source/_jsusecases/sort-array-in-descending-order.md ================================================ --- extends: _layouts.usecase date: 2017-12-23 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort reference: Array.sort related: sort-array-in-ascending-order category: arrays --- ```javascript const numbers = [10, 20, 30, 100, 5, 1, 20]; numbers.sort((a, b) => b - a); console.log(numbers); ```
[100, 30, 20, 20, 10, 5, 1]================================================ FILE: source/_jsusecases/sort-array-of-objects-in-ascending-order.md ================================================ --- extends: _layouts.usecase date: 2020-08-16 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort reference: Array.sort related: sort-array-of-objects-in-descending-order category: arrays --- ```javascript const users = [ { name: "user1", age: 28 }, { name: "user2", age: 21 }, { name: "user3", age: 38 }, { name: "user4", age: 18 } ]; users.sort((user1, user2) => user1.age - user2.age); console.log(users); ```
[
{ name: "user4", age: 18 },
{ name: "user2", age: 21 },
{ name: "user1", age: 28 },
{ name: "user3", age: 38 }
]
================================================
FILE: source/_jsusecases/sort-array-of-objects-in-descending-order.md
================================================
---
extends: _layouts.usecase
date: 2020-08-16
link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
reference: Array.sort
related: sort-array-of-objects-in-ascending-order
category: arrays
---
```javascript
const users = [
{ name: "user1", age: 28 },
{ name: "user2", age: 21 },
{ name: "user3", age: 38 },
{ name: "user4", age: 18 }
];
users.sort((user1, user2) => user2.age - user1.age);
console.log(users);
```
[
{ name: "user3", age: 38 },
{ name: "user1", age: 28 },
{ name: "user2", age: 21 },
{ name: "user4", age: 18 }
]
================================================
FILE: source/_jsusecases/split-comma-separated-string.md
================================================
---
extends: _layouts.usecase
date: 2017-12-24
link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split
reference: String.split
related: convert-array-to-comma-separated-string
category: strings
---
```javascript
const csv = "Eat,Sleep,Code,Repeat";
csv.split(",");
```
['Eat', 'Sleep', 'Code', 'Repeat']================================================ FILE: source/_jsusecases/split-string-into-array-of-characters.md ================================================ --- extends: _layouts.usecase date: 2017-12-16 category: arrays --- ```javascript const arrayOfChars = [..."hello world"]; ```
['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']================================================ FILE: source/_jsusecases/stop-audio.md ================================================ --- extends: _layouts.usecase date: 2024-02-26 link: https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/currentTime reference: HTMLMediaElement.pause related: play-audio,pause-audio category: DOM --- ```html ``` ```javascript const audio = document.querySelector("audio"); // Stop = pause + reset the playhead audio.pause(); audio.currentTime = 0; ``` ================================================ FILE: source/_jsusecases/stop-video.md ================================================ --- extends: _layouts.usecase date: 2024-02-26 link: https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/currentTime reference: HTMLMediaElement.currentTime related: play-video,pause-video category: DOM --- ```html ``` ```javascript const video = document.querySelector("#video"); // Stop = pause + reset the playhead video.pause(); video.currentTime = 0; ``` ================================================ FILE: source/_jsusecases/sum-items-of-array.md ================================================ --- extends: _layouts.usecase date: 2018-01-23 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce reference: Array.reduce category: arrays --- ```javascript const calories = [50, 100, 200]; //sum calories.reduce((total, current) => total + current, 0); ```
350================================================ FILE: source/_jsusecases/swap-variables.md ================================================ --- extends: _layouts.usecase date: 2024-02-27 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Array_destructuring reference: Array destructuring category: syntax --- ```javascript let firstName = "Doe"; let lastName = "Sam"; // Swap [firstName, lastName] = [lastName, firstName]; console.log(firstName, lastName); ```
Sam Doe================================================ FILE: source/_jsusecases/time-a-function.md ================================================ --- extends: _layouts.usecase date: 2018-03-14 link: https://developer.mozilla.org/en-US/docs/Web/API/Performance/now reference: performance.now category: performance --- ```javascript function foo() { // do stuff } const start = performance.now(); foo(); const end = performance.now(); console.log(`Call to ${foo.name} took ${end - start} ms.`); ```
Call to foo took x ms================================================ FILE: source/_jsusecases/toggle-class-of-element.md ================================================ --- extends: _layouts.usecase date: 2018-09-22 link: https://developer.mozilla.org/en-US/docs/Web/API/Element/classList reference: Element.classList category: DOM --- ```html ``` ```javascript const element = document.querySelector("#box"); element.classList.toggle("highlighted"); ``` ================================================ FILE: source/_jsusecases/try-catch.md ================================================ --- extends: _layouts.usecase date: 2018-04-28 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/try...catch reference: try...catch category: syntax --- ```javascript try { potentialFail(); } catch (error) { console.log(error); } ```
ReferenceError: potentialFail is not defined================================================ FILE: source/_jsusecases/update-array-immutably.md ================================================ --- extends: _layouts.usecase date: 2024-02-28 link: https://web.dev/blog/array-with?hl=en reference: Array.with reference_website: web.dev category: arrays --- ```javascript const names = ["Alex", "Sam", "Blane"]; const newNames = names.with(1, "Sammy"); // names remains unmodified console.log(newNames); ```
["Alex", "Sammy", "Blane"]================================================ FILE: source/_jsusecases/uppercase-a-string.md ================================================ --- extends: _layouts.usecase date: 2017-11-11 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase reference: String.toUpperCase related: lowercase-a-string category: strings --- ```javascript const text = "Hello World"; text.toUpperCase(); ```
HELLO WORLD================================================ FILE: source/_jsusecases/uppercase-every-word.md ================================================ --- extends: _layouts.usecase date: 2018-12-26 category: strings --- ```javascript let string = "code to go is AWESOME"; const pattern = /([^\W_]+[^\s]*) */g; string.replace(pattern, word => { const first = word[0].toUpperCase(); const rest = word.substring(1).toLowerCase(); return first + rest; }); ```
Code To Go Is Awesome================================================ FILE: source/_jsusecases/uppercase-first-letter.md ================================================ --- extends: _layouts.usecase date: 2018-12-26 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase reference: String.toUpperCase category: strings --- ```javascript const name = "micha"; const upperFirst = name[0].toUpperCase() + name.substring(1); ```
Micha================================================ FILE: source/_jsusecases/validate-email.md ================================================ --- extends: _layouts.usecase date: 2017-12-16 category: regex --- ```javascript const pattern = /\S+@\S+\.\S+/; pattern.test("john@gmail.com"); ```
true================================================ FILE: source/_jsusecases/wait-in-async-await-functions.md ================================================ --- extends: _layouts.usecase date: 2019-04-11 link: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise reference: new Promise(executor) related: create-a-promise category: Promise author: "Marvin Heilemann" --- ```javascript const timer = ms => new Promise(r => setTimeout(r, ms)); async function doSomething() { console.log("Start"); await timer(2000); console.log("Stop"); } doSomething(); ```
Start Stop================================================ FILE: source/_jsusecases/write-a-multiline-string.md ================================================ --- extends: _layouts.usecase date: 2024-02-26 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals reference: Template literals related: interpolate category: strings --- ```javascript const text = `Using the backtick character, you can define a string that spans multiple lines.`; ``` ================================================ FILE: source/_jsusecases/write-an-arrow-function.md ================================================ --- extends: _layouts.usecase date: 2020-08-16 link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions reference: Arrow functions category: functions --- ```javascript const greetUser = () => { return "Welcome to code to go!"; }; let result = greetUser(); console.log(result); ```
Welcome to code to go!================================================ FILE: source/_layouts/master.blade.php ================================================
"dark" "container"================================================ FILE: source/_reactusecases/export-a-component.md ================================================ --- extends: _layouts.usecase date: 2020-03-18 reference: React Component category: React --- ```jsx import React from "react"; export default function Navbar() { return
16.12.0================================================ FILE: source/_reactusecases/get-props.md ================================================ --- extends: _layouts.usecase date: 2020-01-25 reference: React props related: destructure-props category: props --- ```jsx import React from "react"; function App(props) { console.log(props.theme); console.log(props.className); return
"dark" "container"================================================ FILE: source/_reactusecases/listen-to-click-event.md ================================================ --- extends: _layouts.usecase date: 2020-01-28 reference: onClick category: events --- ```jsx import React from "react"; function Button() { function handleButtonClick() { console.log("Button clicked!"); } return ; } ``` ================================================ FILE: source/_reactusecases/listen-to-keydown-event.md ================================================ --- extends: _layouts.usecase date: 2020-01-28 reference: onKeyDown category: events --- ```jsx import React from "react"; function Input() { function handleInputKeyDown(event) { console.log(event.target.value); } return ; } ``` ================================================ FILE: source/_reactusecases/listen-to-keypress-event.md ================================================ --- extends: _layouts.usecase date: 2020-01-28 reference: onKeyPress category: events --- ```jsx import React from "react"; function Input() { function handleInputKeyPress(event) { console.log(event.target.value); } return ; } ``` ================================================ FILE: source/_reactusecases/listen-to-keyup-event.md ================================================ --- extends: _layouts.usecase date: 2020-01-28 reference: onKeyUp category: events --- ```jsx import React from "react"; function Input() { function handleInputKeyUp(event) { console.log(event.target.value); } return ; } ``` ================================================ FILE: source/_reactusecases/render-to-the-DOM.md ================================================ --- extends: _layouts.usecase date: 2020-01-28 reference: ReactDOM.render category: ReactDOM --- ```html ``` ```jsx import React from "react"; import { render } from "react-dom"; function App() { return
<h1>Hello World!</h1>================================================ FILE: source/_reactusecases/use-fragments.md ================================================ --- extends: _layouts.usecase date: 2020-03-18 reference: React.Fragment category: React --- ```jsx import React from "react"; function App() { return ( <>
First element
Second element
> ); } ``` ================================================ FILE: source/_reactusecases/use-state-with-hooks.md ================================================ --- extends: _layouts.usecase date: 2024-02-13 reference: React useState hook category: state --- ```jsx import { useState } from "react"; function Counter() { const [count, setCount] = useState(0); function handleClick() { setCount(count => count + 1); } return ( <>
Code to go aims to help developers learning JavaScript find up to date, accurate and ready to use snippets of JavaScript code for common use cases.
If you want to suggest a common use case, please create a new issue on the github repository by clicking on Contribute.
If you like CodeToGo, check out the following courses: