[qns] update topics
This commit is contained in:
parent
c0165faa8e
commit
fcbbeda777
|
|
@ -1,6 +1,6 @@
|
|||
[
|
||||
{
|
||||
"access": "free",
|
||||
"access": "premium",
|
||||
"author": "yangshun",
|
||||
"companies": [],
|
||||
"created": 1671580800,
|
||||
|
|
@ -36,7 +36,9 @@
|
|||
"slug": "accordion",
|
||||
"subtitle": null,
|
||||
"title": "Accordion",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -74,7 +76,9 @@
|
|||
"slug": "accordion-ii",
|
||||
"subtitle": null,
|
||||
"title": "Accordion II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -106,7 +110,9 @@
|
|||
"slug": "accordion-iii",
|
||||
"subtitle": null,
|
||||
"title": "Accordion III",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -159,7 +165,10 @@
|
|||
"slug": "analog-clock",
|
||||
"subtitle": null,
|
||||
"title": "Analog Clock",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y",
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -405,7 +414,9 @@
|
|||
"slug": "auth-code-input",
|
||||
"subtitle": null,
|
||||
"title": "Auth Code Input",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -427,9 +438,7 @@
|
|||
"js",
|
||||
"ts"
|
||||
],
|
||||
"nextQuestions": [
|
||||
""
|
||||
],
|
||||
"nextQuestions": [],
|
||||
"published": true,
|
||||
"ranking": 100,
|
||||
"similarQuestions": [
|
||||
|
|
@ -439,7 +448,9 @@
|
|||
"slug": "backbone-model",
|
||||
"subtitle": null,
|
||||
"title": "Backbone Model",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"oop"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "free",
|
||||
|
|
@ -576,7 +587,9 @@
|
|||
"slug": "camel-case-keys",
|
||||
"subtitle": null,
|
||||
"title": "Camel Case Keys",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -605,7 +618,9 @@
|
|||
"slug": "cancellable-interval",
|
||||
"subtitle": null,
|
||||
"title": "Cancellable Interval",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -634,7 +649,9 @@
|
|||
"slug": "cancellable-timeout",
|
||||
"subtitle": null,
|
||||
"title": "Cancellable Timeout",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -966,7 +983,9 @@
|
|||
"slug": "contact-form",
|
||||
"subtitle": null,
|
||||
"title": "Contact Form",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "free",
|
||||
|
|
@ -1176,7 +1195,9 @@
|
|||
"slug": "cycle",
|
||||
"subtitle": null,
|
||||
"title": "Cycle",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"closure"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1416,7 +1437,9 @@
|
|||
"slug": "debounce",
|
||||
"subtitle": null,
|
||||
"title": "Debounce",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1454,7 +1477,9 @@
|
|||
"slug": "debounce-ii",
|
||||
"subtitle": null,
|
||||
"title": "Debounce II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "free",
|
||||
|
|
@ -1490,7 +1515,9 @@
|
|||
"slug": "deep-clone",
|
||||
"subtitle": null,
|
||||
"title": "Deep Clone",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1519,7 +1546,9 @@
|
|||
"slug": "deep-clone-ii",
|
||||
"subtitle": null,
|
||||
"title": "Deep Clone II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1551,7 +1580,9 @@
|
|||
"slug": "deep-equal",
|
||||
"subtitle": null,
|
||||
"title": "Deep Equal",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1581,7 +1612,9 @@
|
|||
"slug": "deep-map",
|
||||
"subtitle": null,
|
||||
"title": "Deep Map",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1610,7 +1643,9 @@
|
|||
"slug": "deep-merge",
|
||||
"subtitle": null,
|
||||
"title": "Deep Merge",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1639,7 +1674,9 @@
|
|||
"slug": "deep-omit",
|
||||
"subtitle": null,
|
||||
"title": "Deep Omit",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "free",
|
||||
|
|
@ -1713,7 +1750,9 @@
|
|||
"slug": "dice-roller",
|
||||
"subtitle": null,
|
||||
"title": "Dice Roller",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1795,7 +1834,10 @@
|
|||
"slug": "digital-clock",
|
||||
"subtitle": null,
|
||||
"title": "Digital Clock",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y",
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1890,7 +1932,9 @@
|
|||
"slug": "event-emitter",
|
||||
"subtitle": null,
|
||||
"title": "Event Emitter",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"oop"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1926,7 +1970,9 @@
|
|||
"slug": "event-emitter-ii",
|
||||
"subtitle": null,
|
||||
"title": "Event Emitter II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"oop"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "free",
|
||||
|
|
@ -1968,7 +2014,9 @@
|
|||
"slug": "file-explorer",
|
||||
"subtitle": null,
|
||||
"title": "File Explorer",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2038,7 +2086,7 @@
|
|||
"js"
|
||||
],
|
||||
"nextQuestions": [
|
||||
"file-explorer-iii"
|
||||
"nested-checkboxes"
|
||||
],
|
||||
"published": true,
|
||||
"ranking": 100,
|
||||
|
|
@ -2172,7 +2220,9 @@
|
|||
"slug": "flatten",
|
||||
"subtitle": null,
|
||||
"title": "Flatten",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2190,6 +2240,10 @@
|
|||
"framework": "react",
|
||||
"href": "/questions/user-interface/flight-booker/react"
|
||||
},
|
||||
{
|
||||
"framework": "vanilla",
|
||||
"href": "/questions/user-interface/flight-booker/vanilla"
|
||||
},
|
||||
{
|
||||
"framework": "angular",
|
||||
"href": "/questions/user-interface/flight-booker/angular"
|
||||
|
|
@ -2216,7 +2270,9 @@
|
|||
"slug": "flight-booker",
|
||||
"subtitle": null,
|
||||
"title": "Flight Booker",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2450,7 +2506,9 @@
|
|||
"slug": "get",
|
||||
"subtitle": null,
|
||||
"title": "Get",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2486,7 +2544,9 @@
|
|||
"slug": "get-elements-by-class-name",
|
||||
"subtitle": null,
|
||||
"title": "getElementsByClassName",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2520,7 +2580,9 @@
|
|||
"slug": "get-elements-by-style",
|
||||
"subtitle": null,
|
||||
"title": "getElementsByStyle",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2553,7 +2615,9 @@
|
|||
"slug": "get-elements-by-tag-name",
|
||||
"subtitle": null,
|
||||
"title": "getElementsByTagName",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2587,7 +2651,9 @@
|
|||
"slug": "get-elements-by-tag-name-hierarchy",
|
||||
"subtitle": null,
|
||||
"title": "getElementsByTagNameHierarchy",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2634,7 +2700,10 @@
|
|||
"slug": "grid-lights",
|
||||
"subtitle": null,
|
||||
"title": "Grid Lights",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y",
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2780,7 +2849,9 @@
|
|||
"slug": "html-serializer",
|
||||
"subtitle": null,
|
||||
"title": "HTML Serializer",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2810,7 +2881,11 @@
|
|||
"slug": "identical-dom-trees",
|
||||
"subtitle": null,
|
||||
"title": "Identical DOM Trees",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion",
|
||||
"tree",
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "free",
|
||||
|
|
@ -2854,7 +2929,9 @@
|
|||
"slug": "image-carousel",
|
||||
"subtitle": null,
|
||||
"title": "Image Carousel",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2897,7 +2974,9 @@
|
|||
"slug": "image-carousel-ii",
|
||||
"subtitle": null,
|
||||
"title": "Image Carousel II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -3167,7 +3246,9 @@
|
|||
"slug": "job-board",
|
||||
"subtitle": null,
|
||||
"title": "Job Board",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"networking"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -3198,7 +3279,10 @@
|
|||
"slug": "jquery-class-manipulation",
|
||||
"subtitle": null,
|
||||
"title": "jQuery Class Manipulation",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"oop",
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -3229,7 +3313,10 @@
|
|||
"slug": "jquery-css",
|
||||
"subtitle": null,
|
||||
"title": "jQuery.css",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"oop",
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -3262,7 +3349,9 @@
|
|||
"slug": "json-stringify",
|
||||
"subtitle": null,
|
||||
"title": "JSON.stringify",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -3293,7 +3382,9 @@
|
|||
"slug": "json-stringify-ii",
|
||||
"subtitle": null,
|
||||
"title": "JSON.stringify II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -3340,7 +3431,10 @@
|
|||
"slug": "like-button",
|
||||
"subtitle": null,
|
||||
"title": "Like Button",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async",
|
||||
"networking"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -3431,7 +3525,9 @@
|
|||
"slug": "make-counter",
|
||||
"subtitle": null,
|
||||
"title": "Make Counter",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"closure"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -3463,7 +3559,9 @@
|
|||
"slug": "make-counter-ii",
|
||||
"subtitle": null,
|
||||
"title": "Make Counter II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"closure"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -3498,7 +3596,9 @@
|
|||
"slug": "map-async",
|
||||
"subtitle": null,
|
||||
"title": "Map Async",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -3531,7 +3631,9 @@
|
|||
"slug": "map-async-limit",
|
||||
"subtitle": null,
|
||||
"title": "Map Async Limit",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -3790,7 +3892,9 @@
|
|||
"slug": "modal-dialog",
|
||||
"subtitle": null,
|
||||
"title": "Modal Dialog",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -3827,7 +3931,9 @@
|
|||
"slug": "modal-dialog-ii",
|
||||
"subtitle": null,
|
||||
"title": "Modal Dialog II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -3863,7 +3969,9 @@
|
|||
"slug": "modal-dialog-iii",
|
||||
"subtitle": null,
|
||||
"title": "Modal Dialog III",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -3897,7 +4005,9 @@
|
|||
"slug": "modal-dialog-iv",
|
||||
"subtitle": null,
|
||||
"title": "Modal Dialog IV",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "free",
|
||||
|
|
@ -4075,7 +4185,9 @@
|
|||
"slug": "once",
|
||||
"subtitle": null,
|
||||
"title": "Once",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"closure"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -4120,7 +4232,9 @@
|
|||
"slug": "pixel-art",
|
||||
"subtitle": null,
|
||||
"title": "Pixel Art",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -4202,7 +4316,9 @@
|
|||
"slug": "progress-bars",
|
||||
"subtitle": null,
|
||||
"title": "Progress Bars",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -4239,7 +4355,9 @@
|
|||
"slug": "progress-bars-ii",
|
||||
"subtitle": null,
|
||||
"title": "Progress Bars II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -4276,7 +4394,9 @@
|
|||
"slug": "progress-bars-iii",
|
||||
"subtitle": null,
|
||||
"title": "Progress Bars III",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -4311,7 +4431,9 @@
|
|||
"slug": "progress-bars-iv",
|
||||
"subtitle": null,
|
||||
"title": "Progress Bars IV",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -4343,7 +4465,9 @@
|
|||
"slug": "promise-merge",
|
||||
"subtitle": null,
|
||||
"title": "Promise Merge",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -4370,7 +4494,9 @@
|
|||
"slug": "promise-timeout",
|
||||
"subtitle": null,
|
||||
"title": "Promise Timeout",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "free",
|
||||
|
|
@ -4411,7 +4537,9 @@
|
|||
"slug": "promise-all",
|
||||
"subtitle": null,
|
||||
"title": "Promise.all",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -4442,7 +4570,9 @@
|
|||
"slug": "promise-all-settled",
|
||||
"subtitle": null,
|
||||
"title": "Promise.allSettled",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -4473,7 +4603,9 @@
|
|||
"slug": "promise-any",
|
||||
"subtitle": null,
|
||||
"title": "Promise.any",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -4506,7 +4638,9 @@
|
|||
"slug": "promise-race",
|
||||
"subtitle": null,
|
||||
"title": "Promise.race",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -4539,7 +4673,9 @@
|
|||
"slug": "promise-reject",
|
||||
"subtitle": null,
|
||||
"title": "Promise.reject",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -4572,7 +4708,9 @@
|
|||
"slug": "promise-resolve",
|
||||
"subtitle": null,
|
||||
"title": "Promise.resolve",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -4602,7 +4740,9 @@
|
|||
"slug": "promise-with-resolvers",
|
||||
"subtitle": null,
|
||||
"title": "Promise.withResolvers",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -4633,7 +4773,9 @@
|
|||
"slug": "promisify",
|
||||
"subtitle": null,
|
||||
"title": "Promisify",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -4660,7 +4802,9 @@
|
|||
"slug": "promisify-ii",
|
||||
"subtitle": null,
|
||||
"title": "Promisify II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "free",
|
||||
|
|
@ -4811,7 +4955,10 @@
|
|||
"slug": "resumable-interval",
|
||||
"subtitle": null,
|
||||
"title": "Resumable Interval",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async",
|
||||
"closure"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -4993,7 +5140,9 @@
|
|||
"slug": "sleep",
|
||||
"subtitle": null,
|
||||
"title": "Sleep",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -5023,7 +5172,9 @@
|
|||
"slug": "squash-object",
|
||||
"subtitle": null,
|
||||
"title": "Squash Object",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "free",
|
||||
|
|
@ -5159,7 +5310,9 @@
|
|||
"slug": "stopwatch",
|
||||
"subtitle": null,
|
||||
"title": "Stopwatch",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -5191,7 +5344,9 @@
|
|||
"slug": "sum",
|
||||
"subtitle": null,
|
||||
"title": "Sum",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"closure"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -5221,7 +5376,11 @@
|
|||
"slug": "table-of-contents",
|
||||
"subtitle": null,
|
||||
"title": "Table of Contents",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion",
|
||||
"tree",
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "free",
|
||||
|
|
@ -5271,7 +5430,9 @@
|
|||
"slug": "tabs",
|
||||
"subtitle": null,
|
||||
"title": "Tabs",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -5321,7 +5482,9 @@
|
|||
"slug": "tabs-ii",
|
||||
"subtitle": null,
|
||||
"title": "Tabs II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -5364,7 +5527,9 @@
|
|||
"slug": "tabs-iii",
|
||||
"subtitle": null,
|
||||
"title": "Tabs III",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -5512,7 +5677,9 @@
|
|||
"slug": "throttle",
|
||||
"subtitle": null,
|
||||
"title": "Throttle",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -5564,7 +5731,9 @@
|
|||
"slug": "tic-tac-toe",
|
||||
"subtitle": null,
|
||||
"title": "Tic-tac-toe",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -5614,7 +5783,9 @@
|
|||
"slug": "tic-tac-toe-ii",
|
||||
"subtitle": null,
|
||||
"title": "Tic-tac-toe II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"a11y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "free",
|
||||
|
|
@ -5755,7 +5926,9 @@
|
|||
"slug": "traffic-light",
|
||||
"subtitle": null,
|
||||
"title": "Traffic Light",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -5881,7 +6054,9 @@
|
|||
"slug": "turtle",
|
||||
"subtitle": null,
|
||||
"title": "Turtle",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"oop"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
|
|||
|
|
@ -28,9 +28,7 @@
|
|||
"js",
|
||||
"ts"
|
||||
],
|
||||
"nextQuestions": [
|
||||
""
|
||||
],
|
||||
"nextQuestions": [],
|
||||
"published": true,
|
||||
"ranking": 100,
|
||||
"similarQuestions": [
|
||||
|
|
@ -40,7 +38,9 @@
|
|||
"slug": "backbone-model",
|
||||
"subtitle": null,
|
||||
"title": "Backbone Model",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"oop"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "// You are free to use alternative approaches of\n// defining BackboneModel as long as the\n// default export can be instantiated.\nexport default class BackboneModel {\n /**\n * @param {Object} initialValues\n * @returns BackboneModel\n */\n constructor(initialValues) {\n throw 'Not implemented!';\n }\n\n /**\n * Get the value of a specific attribute.\n * @param {string} attribute - The attribute name.\n * @returns {any | undefined} The value of the attribute.\n */\n get(attribute) {\n throw 'Not implemented!';\n }\n\n /**\n * Set the value of a specific attribute.\n * @param {string} attribute - The attribute name.\n * @param {any} value - The value to set for the attribute.\n */\n set(attribute, value) {\n throw 'Not implemented!';\n }\n\n /**\n * Check if the model has a specific attribute.\n * @param {string} attribute - The attribute name.\n * @returns {boolean} `true` if the model has the attribute, `false` otherwise.\n */\n has(attribute) {\n throw 'Not implemented!';\n }\n\n /**\n * Unset a specific attribute.\n * @param {string} attribute - The attribute name to unset.\n */\n unset(attribute) {\n throw 'Not implemented!';\n }\n\n /**\n * Register an event listener for changes to a specific attribute.\n * @param {string} eventName - The event name.\n * @param {string} attribute - The attribute name to listen for changes.\n * @param {Function} callback - The callback function to be executed on the event.\n * @param {any} [context] - The context in which to execute the callback.\n */\n on(eventName, attribute, callback, context) {\n throw 'Not implemented!';\n }\n\n /**\n * Remove an event listener for changes to a specific attribute.\n * @param {string} eventName - The event name.\n * @param {string} attribute - The attribute name to stop listening for changes.\n * @param {Function} callback - The callback function to remove.\n */\n off(eventName, attribute, callback) {\n throw 'Not implemented!';\n }\n}",
|
||||
|
|
|
|||
|
|
@ -36,7 +36,9 @@
|
|||
"slug": "camel-case-keys",
|
||||
"subtitle": null,
|
||||
"title": "Camel Case Keys",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param Object\n * @return Object\n */\nexport default function camelCaseKeys(object) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -35,7 +35,9 @@
|
|||
"slug": "cancellable-interval",
|
||||
"subtitle": null,
|
||||
"title": "Cancellable Interval",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Function} callback\n * @param {number} delay\n * @param {...any} args\n * @returns {Function}\n */\nexport default function setCancellableInterval(callback, delay, ...args) {\n throw 'Not implemented';\n}",
|
||||
|
|
|
|||
|
|
@ -35,7 +35,9 @@
|
|||
"slug": "cancellable-timeout",
|
||||
"subtitle": null,
|
||||
"title": "Cancellable Timeout",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Function} callback\n * @param {number} delay\n * @param {...any} args\n * @returns {Function}\n */\nexport default function setCancellableTimeout(callback, delay, ...args) {\n throw 'Not implemented';\n}",
|
||||
|
|
|
|||
|
|
@ -33,7 +33,9 @@
|
|||
"slug": "cycle",
|
||||
"subtitle": null,
|
||||
"title": "Cycle",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"closure"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @template T\n * @param {...T} values\n *\n * @returns () => T\n */\nexport default function cycle(...values) {\n throw 'Not implemented';\n}",
|
||||
|
|
|
|||
|
|
@ -44,7 +44,9 @@
|
|||
"slug": "debounce-ii",
|
||||
"subtitle": null,
|
||||
"title": "Debounce II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Function} func\n * @param {number} wait\n * @return {Function}\n */\nexport default function debounce(func, wait) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -45,7 +45,9 @@
|
|||
"slug": "debounce",
|
||||
"subtitle": null,
|
||||
"title": "Debounce",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Function} func\n * @param {number} wait\n * @return {Function}\n */\nexport default function debounce(func, wait) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -35,7 +35,9 @@
|
|||
"slug": "deep-clone-ii",
|
||||
"subtitle": null,
|
||||
"title": "Deep Clone II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @template T\n * @param {T} value\n * @return {T}\n */\nexport default function deepClone(value) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -42,7 +42,9 @@
|
|||
"slug": "deep-clone",
|
||||
"subtitle": null,
|
||||
"title": "Deep Clone",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @template T\n * @param {T} value\n * @return {T}\n */\nexport default function deepClone(value) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -38,7 +38,9 @@
|
|||
"slug": "deep-equal",
|
||||
"subtitle": null,
|
||||
"title": "Deep Equal",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {*} valueA\n * @param {*} valueB\n * @return {boolean}\n */\nexport default function deepEqual(valueA, valueB) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -36,7 +36,9 @@
|
|||
"slug": "deep-map",
|
||||
"subtitle": null,
|
||||
"title": "Deep Map",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {any} value\n * @param {Function} fn\n * @returns any\n */\nexport default function deepMap(value, fn) {\n throw 'Not implemented';\n}",
|
||||
|
|
|
|||
|
|
@ -35,7 +35,9 @@
|
|||
"slug": "deep-merge",
|
||||
"subtitle": null,
|
||||
"title": "Deep Merge",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Object|Array} valA\n * @param {Object|Array} valB\n * @returns Object|Array\n */\nexport default function deepMerge(valA, valB) {\n throw 'Not implemented';\n}",
|
||||
|
|
|
|||
|
|
@ -35,7 +35,9 @@
|
|||
"slug": "deep-omit",
|
||||
"subtitle": null,
|
||||
"title": "Deep Omit",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {any} val\n * @param {Array<string>} keys\n * @returns any\n */\nexport default function deepOmit(val, keys) {\n throw 'Not implemented';\n}",
|
||||
|
|
|
|||
|
|
@ -42,7 +42,9 @@
|
|||
"slug": "event-emitter-ii",
|
||||
"subtitle": null,
|
||||
"title": "Event Emitter II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"oop"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "// You are free to use alternative approaches of\n// instantiating the EventEmitter as long as the\n// default export is correct.\nexport default class EventEmitter {\n constructor() {\n throw 'Not implemented!';\n }\n\n /**\n * @param {string} eventName\n * @param {Function} listener\n * @returns {{off: Function}}\n */\n on(eventName, listener) {\n throw 'Not implemented!';\n }\n\n /**\n * @param {string} eventName\n * @param {...any} args\n * @returns boolean\n */\n emit(eventName, ...args) {\n throw 'Not implemented!';\n }\n}",
|
||||
|
|
|
|||
|
|
@ -43,7 +43,9 @@
|
|||
"slug": "event-emitter",
|
||||
"subtitle": null,
|
||||
"title": "Event Emitter",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"oop"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "// You are free to use alternative approaches of\n// instantiating the EventEmitter as long as the\n// default export is correct.\n\nexport default class EventEmitter {\n constructor() {\n throw 'Not implemented!';\n }\n\n /**\n * @param {string} eventName\n * @param {Function} listener\n * @returns {EventEmitter}\n */\n on(eventName, listener) {\n throw 'Not implemented!';\n }\n\n /**\n * @param {string} eventName\n * @param {Function} listener\n * @returns {EventEmitter}\n */\n off(eventName, listener) {\n throw 'Not implemented!';\n }\n\n /**\n * @param {string} eventName\n * @param {...any} args\n * @returns {boolean}\n */\n emit(eventName, ...args) {\n throw 'Not implemented!';\n }\n}",
|
||||
|
|
|
|||
|
|
@ -47,7 +47,9 @@
|
|||
"slug": "flatten",
|
||||
"subtitle": null,
|
||||
"title": "Flatten",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Array<*|Array>} value\n * @return {Array}\n */\nexport default function flatten(value) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -42,7 +42,9 @@
|
|||
"slug": "get-elements-by-class-name",
|
||||
"subtitle": null,
|
||||
"title": "getElementsByClassName",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Element} element\n * @param {string} classNames\n * @return {Array<Element>}\n */\nexport default function getElementsByClassName(element, classNames) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -40,7 +40,9 @@
|
|||
"slug": "get-elements-by-style",
|
||||
"subtitle": null,
|
||||
"title": "getElementsByStyle",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Element} element\n * @param {string} property\n * @param {string} value\n * @return {Array<Element>}\n */\nexport default function getElementsByStyle(element, property, value) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -40,7 +40,9 @@
|
|||
"slug": "get-elements-by-tag-name-hierarchy",
|
||||
"subtitle": null,
|
||||
"title": "getElementsByTagNameHierarchy",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Document} document\n * @param {string} tagNames\n * @return {Array<Element>}\n */\nexport default function getElementsByTagNameHierarchy(document, tagNames) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -39,7 +39,9 @@
|
|||
"slug": "get-elements-by-tag-name",
|
||||
"subtitle": null,
|
||||
"title": "getElementsByTagName",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Element} el\n * @param {string} tagName\n * @return {Array<Element>}\n */\nexport default function getElementsByTagName(el, tagName) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -37,7 +37,9 @@
|
|||
"slug": "get",
|
||||
"subtitle": null,
|
||||
"title": "Get",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Object} objectParam\n * @param {string|Array<string>} pathParam\n * @param {*} [defaultValue]\n * @return {*}\n */\nexport default function get(objectParam, pathParam, defaultValue) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -38,7 +38,9 @@
|
|||
"slug": "html-serializer",
|
||||
"subtitle": null,
|
||||
"title": "HTML Serializer",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Object} element\n * @return {string}\n */\nexport default function serializeHTML(element) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -36,7 +36,11 @@
|
|||
"slug": "identical-dom-trees",
|
||||
"subtitle": null,
|
||||
"title": "Identical DOM Trees",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion",
|
||||
"tree",
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Node} nodeA\n * @param {Node} nodeB\n * @return {boolean}\n */\nexport default function identicalDOMTrees(nodeA, nodeB) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -37,7 +37,10 @@
|
|||
"slug": "jquery-class-manipulation",
|
||||
"subtitle": null,
|
||||
"title": "jQuery Class Manipulation",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"oop",
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {string} selector\n * @return {{toggleClass: Function, addClass: Function, removeClass: Function}}\n */\nexport default function $(selector) {\n const element = document.querySelector(selector);\n\n return {\n /**\n * @param {string} className\n * @param {boolean} [state]\n * @return {Object|void}\n */\n toggleClass: function (className, state) {\n throw 'Not implemented!';\n },\n /**\n * @param {string} className\n * @return {Object}\n */\n addClass: function (className) {\n throw 'Not implemented!';\n },\n /**\n * @param {string} className\n * @return {Object}\n */\n removeClass: function (className) {\n throw 'Not implemented!';\n },\n };\n}",
|
||||
|
|
|
|||
|
|
@ -37,7 +37,10 @@
|
|||
"slug": "jquery-css",
|
||||
"subtitle": null,
|
||||
"title": "jQuery.css",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"oop",
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {string} selector\n * @return {{css: Function}}\n */\nexport default function $(selector) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -37,7 +37,9 @@
|
|||
"slug": "json-stringify-ii",
|
||||
"subtitle": null,
|
||||
"title": "JSON.stringify II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {*} value\n * @return {string}\n */\nexport default function jsonStringify(value) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -39,7 +39,9 @@
|
|||
"slug": "json-stringify",
|
||||
"subtitle": null,
|
||||
"title": "JSON.stringify",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {*} value\n * @return {string}\n */\nexport default function jsonStringify(value) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -232,9 +232,7 @@
|
|||
"js",
|
||||
"ts"
|
||||
],
|
||||
"nextQuestions": [
|
||||
""
|
||||
],
|
||||
"nextQuestions": [],
|
||||
"published": true,
|
||||
"ranking": 100,
|
||||
"similarQuestions": [
|
||||
|
|
@ -244,7 +242,9 @@
|
|||
"slug": "backbone-model",
|
||||
"subtitle": null,
|
||||
"title": "Backbone Model",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"oop"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -274,7 +274,9 @@
|
|||
"slug": "camel-case-keys",
|
||||
"subtitle": null,
|
||||
"title": "Camel Case Keys",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -303,7 +305,9 @@
|
|||
"slug": "cancellable-interval",
|
||||
"subtitle": null,
|
||||
"title": "Cancellable Interval",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -332,7 +336,9 @@
|
|||
"slug": "cancellable-timeout",
|
||||
"subtitle": null,
|
||||
"title": "Cancellable Timeout",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -718,7 +724,9 @@
|
|||
"slug": "cycle",
|
||||
"subtitle": null,
|
||||
"title": "Cycle",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"closure"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -820,7 +828,9 @@
|
|||
"slug": "debounce",
|
||||
"subtitle": null,
|
||||
"title": "Debounce",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -858,7 +868,9 @@
|
|||
"slug": "debounce-ii",
|
||||
"subtitle": null,
|
||||
"title": "Debounce II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "free",
|
||||
|
|
@ -894,7 +906,9 @@
|
|||
"slug": "deep-clone",
|
||||
"subtitle": null,
|
||||
"title": "Deep Clone",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -923,7 +937,9 @@
|
|||
"slug": "deep-clone-ii",
|
||||
"subtitle": null,
|
||||
"title": "Deep Clone II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -955,7 +971,9 @@
|
|||
"slug": "deep-equal",
|
||||
"subtitle": null,
|
||||
"title": "Deep Equal",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -985,7 +1003,9 @@
|
|||
"slug": "deep-map",
|
||||
"subtitle": null,
|
||||
"title": "Deep Map",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1014,7 +1034,9 @@
|
|||
"slug": "deep-merge",
|
||||
"subtitle": null,
|
||||
"title": "Deep Merge",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1043,7 +1065,9 @@
|
|||
"slug": "deep-omit",
|
||||
"subtitle": null,
|
||||
"title": "Deep Omit",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1169,7 +1193,9 @@
|
|||
"slug": "event-emitter",
|
||||
"subtitle": null,
|
||||
"title": "Event Emitter",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"oop"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1205,7 +1231,9 @@
|
|||
"slug": "event-emitter-ii",
|
||||
"subtitle": null,
|
||||
"title": "Event Emitter II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"oop"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1331,7 +1359,9 @@
|
|||
"slug": "flatten",
|
||||
"subtitle": null,
|
||||
"title": "Flatten",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1515,7 +1545,9 @@
|
|||
"slug": "get",
|
||||
"subtitle": null,
|
||||
"title": "Get",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1551,7 +1583,9 @@
|
|||
"slug": "get-elements-by-class-name",
|
||||
"subtitle": null,
|
||||
"title": "getElementsByClassName",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1585,7 +1619,9 @@
|
|||
"slug": "get-elements-by-style",
|
||||
"subtitle": null,
|
||||
"title": "getElementsByStyle",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1618,7 +1654,9 @@
|
|||
"slug": "get-elements-by-tag-name",
|
||||
"subtitle": null,
|
||||
"title": "getElementsByTagName",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1652,7 +1690,9 @@
|
|||
"slug": "get-elements-by-tag-name-hierarchy",
|
||||
"subtitle": null,
|
||||
"title": "getElementsByTagNameHierarchy",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1713,7 +1753,9 @@
|
|||
"slug": "html-serializer",
|
||||
"subtitle": null,
|
||||
"title": "HTML Serializer",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1743,7 +1785,11 @@
|
|||
"slug": "identical-dom-trees",
|
||||
"subtitle": null,
|
||||
"title": "Identical DOM Trees",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion",
|
||||
"tree",
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1920,7 +1966,10 @@
|
|||
"slug": "jquery-class-manipulation",
|
||||
"subtitle": null,
|
||||
"title": "jQuery Class Manipulation",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"oop",
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1951,7 +2000,10 @@
|
|||
"slug": "jquery-css",
|
||||
"subtitle": null,
|
||||
"title": "jQuery.css",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"oop",
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -1984,7 +2036,9 @@
|
|||
"slug": "json-stringify",
|
||||
"subtitle": null,
|
||||
"title": "JSON.stringify",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2015,7 +2069,9 @@
|
|||
"slug": "json-stringify-ii",
|
||||
"subtitle": null,
|
||||
"title": "JSON.stringify II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2106,7 +2162,9 @@
|
|||
"slug": "make-counter",
|
||||
"subtitle": null,
|
||||
"title": "Make Counter",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"closure"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2138,7 +2196,9 @@
|
|||
"slug": "make-counter-ii",
|
||||
"subtitle": null,
|
||||
"title": "Make Counter II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"closure"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2173,7 +2233,9 @@
|
|||
"slug": "map-async",
|
||||
"subtitle": null,
|
||||
"title": "Map Async",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2206,7 +2268,9 @@
|
|||
"slug": "map-async-limit",
|
||||
"subtitle": null,
|
||||
"title": "Map Async Limit",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2448,7 +2512,9 @@
|
|||
"slug": "once",
|
||||
"subtitle": null,
|
||||
"title": "Once",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"closure"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "free",
|
||||
|
|
@ -2489,7 +2555,9 @@
|
|||
"slug": "promise-all",
|
||||
"subtitle": null,
|
||||
"title": "Promise.all",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2520,7 +2588,9 @@
|
|||
"slug": "promise-all-settled",
|
||||
"subtitle": null,
|
||||
"title": "Promise.allSettled",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2551,7 +2621,9 @@
|
|||
"slug": "promise-any",
|
||||
"subtitle": null,
|
||||
"title": "Promise.any",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2583,7 +2655,9 @@
|
|||
"slug": "promise-merge",
|
||||
"subtitle": null,
|
||||
"title": "Promise Merge",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2616,7 +2690,9 @@
|
|||
"slug": "promise-race",
|
||||
"subtitle": null,
|
||||
"title": "Promise.race",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2649,7 +2725,9 @@
|
|||
"slug": "promise-reject",
|
||||
"subtitle": null,
|
||||
"title": "Promise.reject",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2682,7 +2760,9 @@
|
|||
"slug": "promise-resolve",
|
||||
"subtitle": null,
|
||||
"title": "Promise.resolve",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2709,7 +2789,9 @@
|
|||
"slug": "promise-timeout",
|
||||
"subtitle": null,
|
||||
"title": "Promise Timeout",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2739,7 +2821,9 @@
|
|||
"slug": "promise-with-resolvers",
|
||||
"subtitle": null,
|
||||
"title": "Promise.withResolvers",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2770,7 +2854,9 @@
|
|||
"slug": "promisify",
|
||||
"subtitle": null,
|
||||
"title": "Promisify",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2797,7 +2883,9 @@
|
|||
"slug": "promisify-ii",
|
||||
"subtitle": null,
|
||||
"title": "Promisify II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2890,7 +2978,10 @@
|
|||
"slug": "resumable-interval",
|
||||
"subtitle": null,
|
||||
"title": "Resumable Interval",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async",
|
||||
"closure"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -2971,7 +3062,9 @@
|
|||
"slug": "sleep",
|
||||
"subtitle": null,
|
||||
"title": "Sleep",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -3001,7 +3094,9 @@
|
|||
"slug": "squash-object",
|
||||
"subtitle": null,
|
||||
"title": "Squash Object",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -3033,7 +3128,9 @@
|
|||
"slug": "sum",
|
||||
"subtitle": null,
|
||||
"title": "Sum",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"closure"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -3063,7 +3160,11 @@
|
|||
"slug": "table-of-contents",
|
||||
"subtitle": null,
|
||||
"title": "Table of Contents",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion",
|
||||
"tree",
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -3161,7 +3262,9 @@
|
|||
"slug": "throttle",
|
||||
"subtitle": null,
|
||||
"title": "Throttle",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "premium",
|
||||
|
|
@ -3188,7 +3291,9 @@
|
|||
"slug": "turtle",
|
||||
"subtitle": null,
|
||||
"title": "Turtle",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"oop"
|
||||
]
|
||||
},
|
||||
{
|
||||
"access": "free",
|
||||
|
|
|
|||
|
|
@ -38,7 +38,9 @@
|
|||
"slug": "make-counter-ii",
|
||||
"subtitle": null,
|
||||
"title": "Make Counter II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"closure"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {number} initialValue\n * @return {{get: Function, increment: Function, decrement: Function, reset: Function }}\n */\nexport default function makeCounter(initialValue = 0) {\n throw 'Not implemented';\n}",
|
||||
|
|
|
|||
|
|
@ -39,7 +39,9 @@
|
|||
"slug": "make-counter",
|
||||
"subtitle": null,
|
||||
"title": "Make Counter",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"closure"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {number} initialValue\n * @return {Function}\n */\nexport default function makeCounter(initialValue = 0) {\n throw 'Not implemented';\n}",
|
||||
|
|
|
|||
|
|
@ -39,7 +39,9 @@
|
|||
"slug": "map-async-limit",
|
||||
"subtitle": null,
|
||||
"title": "Map Async Limit",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Array<any>} iterable\n * @param {Function} callbackFn\n * @param {number} size\n *\n * @return {Promise}\n */\nexport default function mapAsyncLimit(iterable, callbackFn, size) {\n throw 'Not implemented';\n}",
|
||||
|
|
|
|||
|
|
@ -41,7 +41,9 @@
|
|||
"slug": "map-async",
|
||||
"subtitle": null,
|
||||
"title": "Map Async",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Array<any>} iterable\n * @param {Function} callbackFn\n *\n * @return {Promise}\n */\nexport default function mapAsync(iterable, callbackFn) {\n throw 'Not implemented';\n}",
|
||||
|
|
|
|||
|
|
@ -37,7 +37,9 @@
|
|||
"slug": "once",
|
||||
"subtitle": null,
|
||||
"title": "Once",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"closure"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @template {Function} T\n * @param {T} func\n * @return {T}\n */\nexport default function once(func) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -37,7 +37,9 @@
|
|||
"slug": "promise-all-settled",
|
||||
"subtitle": null,
|
||||
"title": "Promise.allSettled",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Array} iterable\n * @return {Promise<Array<{status: 'fulfilled', value: *}|{status: 'rejected', reason: *}>>}\n */\nexport default function promiseAllSettled(iterable) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -47,7 +47,9 @@
|
|||
"slug": "promise-all",
|
||||
"subtitle": null,
|
||||
"title": "Promise.all",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Array} iterable\n * @return {Promise<Array>}\n */\nexport default function promiseAll(iterable) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -37,7 +37,9 @@
|
|||
"slug": "promise-any",
|
||||
"subtitle": null,
|
||||
"title": "Promise.any",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Array} iterable\n * @return {Promise}\n */\nexport default function promiseAny(iterable) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -38,7 +38,9 @@
|
|||
"slug": "promise-merge",
|
||||
"subtitle": null,
|
||||
"title": "Promise Merge",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Promise} p1\n * @param {Promise} p2\n * @return {Promise<any>}\n */\nexport default function promiseMerge(p1, p2) {\n throw 'Not implemented';\n}",
|
||||
|
|
|
|||
|
|
@ -39,7 +39,9 @@
|
|||
"slug": "promise-race",
|
||||
"subtitle": null,
|
||||
"title": "Promise.race",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Array} iterable\n * @return {Promise}\n */\nexport default function promiseRace(iterable) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -39,7 +39,9 @@
|
|||
"slug": "promise-reject",
|
||||
"subtitle": null,
|
||||
"title": "Promise.reject",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {*} reason\n * @returns Promise\n */\nexport default function promiseReject(reason) {\n throw 'Not implemented';\n}",
|
||||
|
|
|
|||
|
|
@ -39,7 +39,9 @@
|
|||
"slug": "promise-resolve",
|
||||
"subtitle": null,
|
||||
"title": "Promise.resolve",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {*} value\n * @returns Promise\n */\nexport default function promiseResolve(value) {\n throw 'Not implemented';\n}",
|
||||
|
|
|
|||
|
|
@ -33,7 +33,9 @@
|
|||
"slug": "promise-timeout",
|
||||
"subtitle": null,
|
||||
"title": "Promise Timeout",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @template T\n * @param {Promise<T>} promise\n * @param {number} duration\n * @return {Promise<T>}\n */\nexport default function promiseTimeout(promise, duration) {\n throw 'Not implemented';\n}",
|
||||
|
|
|
|||
|
|
@ -36,7 +36,9 @@
|
|||
"slug": "promise-with-resolvers",
|
||||
"subtitle": null,
|
||||
"title": "Promise.withResolvers",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @returns { promise: Promise, resolve: Function, reject: Function }\n */\nexport default function promiseWithResolvers() {\n throw 'Not implemented';\n}",
|
||||
|
|
|
|||
|
|
@ -33,7 +33,9 @@
|
|||
"slug": "promisify-ii",
|
||||
"subtitle": null,
|
||||
"title": "Promisify II",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @callback func\n * @returns Function\n */\nexport default function promisify(func) {\n throw 'Not implemented';\n}",
|
||||
|
|
|
|||
|
|
@ -37,7 +37,9 @@
|
|||
"slug": "promisify",
|
||||
"subtitle": null,
|
||||
"title": "Promisify",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @callback func\n * @returns Function\n */\nexport default function promisify(func) {\n throw 'Not implemented';\n}",
|
||||
|
|
|
|||
|
|
@ -35,7 +35,10 @@
|
|||
"slug": "resumable-interval",
|
||||
"subtitle": null,
|
||||
"title": "Resumable Interval",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async",
|
||||
"closure"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Function} callback\n * @param {number} delay\n * @param {...any} args\n * @returns {{start: Function, pause: Function, stop: Function}}\n */\nexport default function createResumableInterval(callback, delay, ...args) {\n throw 'Not implemented';\n}",
|
||||
|
|
|
|||
|
|
@ -33,7 +33,9 @@
|
|||
"slug": "sleep",
|
||||
"subtitle": null,
|
||||
"title": "Sleep",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {number} duration\n * @return {Promise<void>}\n */\nexport default async function sleep(duration) {\n throw 'Not implemented';\n}",
|
||||
|
|
|
|||
|
|
@ -36,7 +36,9 @@
|
|||
"slug": "squash-object",
|
||||
"subtitle": null,
|
||||
"title": "Squash Object",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Object} obj\n * @return {Object}\n */\nexport default function squashObject(obj) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -38,7 +38,9 @@
|
|||
"slug": "sum",
|
||||
"subtitle": null,
|
||||
"title": "Sum",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"closure"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {number} value\n * @return {Function}\n */\nexport default function sum(value) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -36,7 +36,11 @@
|
|||
"slug": "table-of-contents",
|
||||
"subtitle": null,
|
||||
"title": "Table of Contents",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"recursion",
|
||||
"tree",
|
||||
"web-api"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @param {Document} doc\n * @return {string}\n */\nexport default function tableOfContents(doc) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -40,7 +40,9 @@
|
|||
"slug": "throttle",
|
||||
"subtitle": null,
|
||||
"title": "Throttle",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"async"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "/**\n * @callback func\n * @param {number} wait\n * @return {Function}\n */\nexport default function throttle(func, wait) {\n throw 'Not implemented!';\n}",
|
||||
|
|
|
|||
|
|
@ -33,7 +33,9 @@
|
|||
"slug": "turtle",
|
||||
"subtitle": null,
|
||||
"title": "Turtle",
|
||||
"topics": []
|
||||
"topics": [
|
||||
"oop"
|
||||
]
|
||||
},
|
||||
"skeleton": {
|
||||
"js": "export default class Turtle {\n constructor() {\n throw 'Not implemented';\n }\n\n /**\n * @param {number} distance Distance to move forward while facing the current direction.\n * @return {Turtle}\n */\n forward(distance) {\n throw 'Not implemented';\n }\n\n /**\n * @param {number} distance Distance to move backward while facing the current direction.\n * @return {Turtle}\n */\n backward(distance) {\n throw 'Not implemented';\n }\n\n /**\n * Turns the turtle left.\n * @return {Turtle}\n */\n left() {\n throw 'Not implemented';\n }\n\n /**\n * Turns the turtle right.\n * @return {Turtle}\n */\n right() {\n throw 'Not implemented';\n }\n\n /**\n * @return {[number, number]} Coordinates [x, y]\n */\n position() {\n throw 'Not implemented';\n }\n}",
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "Describe event bubbling in JavaScript and browsers",
|
||||
"topics": [
|
||||
"javascript",
|
||||
"html"
|
||||
"web-api",
|
||||
"javascript"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/describe-event-bubbling/en-US.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "Descreva a propagação de eventos",
|
||||
"topics": [
|
||||
"javascript",
|
||||
"html"
|
||||
"web-api",
|
||||
"javascript"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/describe-event-bubbling/pt-BR.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "描述事件冒泡过程",
|
||||
"topics": [
|
||||
"javascript",
|
||||
"html"
|
||||
"web-api",
|
||||
"javascript"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/describe-event-bubbling/zh-CN.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "Describe event capturing in JavaScript and browsers",
|
||||
"topics": [
|
||||
"javascript",
|
||||
"html"
|
||||
"web-api",
|
||||
"javascript"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/describe-event-capturing/en-US.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
"subtitle": null,
|
||||
"title": "Describe the difference between a cookie, `sessionStorage` and `localStorage` in browsers",
|
||||
"topics": [
|
||||
"web-api",
|
||||
"javascript"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/describe-the-difference-between-a-cookie-sessionstorage-and-localstorage/en-US.mdx"
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
"subtitle": null,
|
||||
"title": "Descreva a diferença entre cookie, `sessionStorage` e `localStorage`.",
|
||||
"topics": [
|
||||
"web-api",
|
||||
"javascript"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/describe-the-difference-between-a-cookie-sessionstorage-and-localstorage/pt-BR.mdx"
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
"subtitle": null,
|
||||
"title": "描述cookie、 `sessionStorage` 和 `localStorage` 之间的差异。",
|
||||
"topics": [
|
||||
"web-api",
|
||||
"javascript"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/describe-the-difference-between-a-cookie-sessionstorage-and-localstorage/zh-CN.mdx"
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "Difference between document `load` event and document `DOMContentLoaded` event?",
|
||||
"topics": [
|
||||
"javascript",
|
||||
"html"
|
||||
"html",
|
||||
"javascript"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/difference-between-document-load-event-and-document-domcontentloaded-event/en-US.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "Qual a diferença entre o evento `load` do documento e o evento `DOMContentLoaded` do documento?",
|
||||
"topics": [
|
||||
"javascript",
|
||||
"html"
|
||||
"html",
|
||||
"javascript"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/difference-between-document-load-event-and-document-domcontentloaded-event/pt-BR.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "Document `load` 事件和 `DOMContentLoaded` 事件之间的区别?",
|
||||
"topics": [
|
||||
"javascript",
|
||||
"html"
|
||||
"html",
|
||||
"javascript"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/difference-between-document-load-event-and-document-domcontentloaded-event/zh-CN.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "Difference between: `function Person(){}`, `const person = Person()`, and `const person = new Person()` in JavaScript?",
|
||||
"topics": [
|
||||
"javascript"
|
||||
"javascript",
|
||||
"oop"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/difference-between-function-person-var-person-person-and-var-person-new-person/en-US.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "Diferença entre: `function Person(){}`, `var person = Person()`, e `var person = new Person()`?",
|
||||
"topics": [
|
||||
"javascript"
|
||||
"javascript",
|
||||
"oop"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/difference-between-function-person-var-person-person-and-var-person-new-person/pt-BR.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "比较差异: `function Person(){}`, `var person = Person()`, 和 `var person = new Person()`?",
|
||||
"topics": [
|
||||
"javascript"
|
||||
"javascript",
|
||||
"oop"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/difference-between-function-person-var-person-person-and-var-person-new-person/zh-CN.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
"title": "Explain AJAX in as much detail as possible",
|
||||
"topics": [
|
||||
"javascript",
|
||||
"network"
|
||||
"networking"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-ajax-in-as-much-detail-as-possible/en-US.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
"title": "Explique o Ajax com o máximo de detalhes possível.",
|
||||
"topics": [
|
||||
"javascript",
|
||||
"network"
|
||||
"networking"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-ajax-in-as-much-detail-as-possible/pt-BR.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
"title": "尽可能详细地解释Ajax",
|
||||
"topics": [
|
||||
"javascript",
|
||||
"network"
|
||||
"networking"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-ajax-in-as-much-detail-as-possible/zh-CN.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -26,8 +26,8 @@
|
|||
"subtitle": null,
|
||||
"title": "Explain event delegation in JavaScript",
|
||||
"topics": [
|
||||
"javascript",
|
||||
"html"
|
||||
"web-api",
|
||||
"javascript"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-event-delegation/en-US.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -26,8 +26,8 @@
|
|||
"subtitle": null,
|
||||
"title": "Explique delegação do evento",
|
||||
"topics": [
|
||||
"javascript",
|
||||
"html"
|
||||
"web-api",
|
||||
"javascript"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-event-delegation/pt-BR.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -26,8 +26,8 @@
|
|||
"subtitle": null,
|
||||
"title": "解释事件委托",
|
||||
"topics": [
|
||||
"javascript",
|
||||
"html"
|
||||
"web-api",
|
||||
"javascript"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-event-delegation/zh-CN.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "Explain `Function.prototype.bind` in JavaScript",
|
||||
"topics": [
|
||||
"javascript"
|
||||
"javascript",
|
||||
"oop"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-function-prototype-bind/en-US.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "Explique `Function.prototype.bind`",
|
||||
"topics": [
|
||||
"javascript"
|
||||
"javascript",
|
||||
"oop"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-function-prototype-bind/pt-BR.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "解释 `Function.prototype.bind`",
|
||||
"topics": [
|
||||
"javascript"
|
||||
"javascript",
|
||||
"oop"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-function-prototype-bind/zh-CN.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
"subtitle": null,
|
||||
"title": "Explain how a browser determines what elements match a CSS selector.",
|
||||
"topics": [
|
||||
"browser",
|
||||
"css"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/front-end-interview-handbook/blob/main/packages/quiz/questions/explain-how-a-browser-determines-what-elements-match-a-css-selector/en-US.mdx"
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
"subtitle": null,
|
||||
"title": "Explique como um navegador determina quais elementos correspondem a um seletor CSS.",
|
||||
"topics": [
|
||||
"browser",
|
||||
"css"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/front-end-interview-handbook/blob/main/packages/quiz/questions/explain-how-a-browser-determines-what-elements-match-a-css-selector/pt-BR.mdx"
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
"subtitle": null,
|
||||
"title": "解释浏览器如何决定什么元素与 CSS 选择器匹配。",
|
||||
"topics": [
|
||||
"browser",
|
||||
"css"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/front-end-interview-handbook/blob/main/packages/quiz/questions/explain-how-a-browser-determines-what-elements-match-a-css-selector/zh-CN.mdx"
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
"title": "Explain how JSONP works (and how it's not really Ajax)",
|
||||
"topics": [
|
||||
"javascript",
|
||||
"network",
|
||||
"networking",
|
||||
"security"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-how-jsonp-works-and-how-its-not-really-ajax/en-US.mdx"
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
"title": "Explique como o JSONP funciona (e como ele não é Ajax)",
|
||||
"topics": [
|
||||
"javascript",
|
||||
"network",
|
||||
"networking",
|
||||
"security"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-how-jsonp-works-and-how-its-not-really-ajax/pt-BR.mdx"
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
"title": "解释JSONP 如何工作(以及它为什么不是真正的 Ajax)",
|
||||
"topics": [
|
||||
"javascript",
|
||||
"network",
|
||||
"networking",
|
||||
"security"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-how-jsonp-works-and-how-its-not-really-ajax/zh-CN.mdx"
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "Explain how prototypal inheritance works in JavaScript",
|
||||
"topics": [
|
||||
"javascript"
|
||||
"javascript",
|
||||
"oop"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-how-prototypal-inheritance-works/en-US.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "Explique como funciona a herança de protótipos",
|
||||
"topics": [
|
||||
"javascript"
|
||||
"javascript",
|
||||
"oop"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-how-prototypal-inheritance-works/pt-BR.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "解释原型继承如何工作",
|
||||
"topics": [
|
||||
"javascript"
|
||||
"javascript",
|
||||
"oop"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-how-prototypal-inheritance-works/zh-CN.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "Explain how `this` works in JavaScript",
|
||||
"topics": [
|
||||
"javascript"
|
||||
"javascript",
|
||||
"oop"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-how-this-works-in-javascript/en-US.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "Explique como `this` funciona em JavaScript",
|
||||
"topics": [
|
||||
"javascript"
|
||||
"javascript",
|
||||
"oop"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-how-this-works-in-javascript/pt-BR.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "解释 JavaScript `this` 如何工作",
|
||||
"topics": [
|
||||
"javascript"
|
||||
"javascript",
|
||||
"oop"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-how-this-works-in-javascript/zh-CN.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
"subtitle": null,
|
||||
"title": "Explain the concept of a callback function in asynchronous operations",
|
||||
"topics": [
|
||||
"async",
|
||||
"javascript"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-the-concept-of-a-callback-function-in-asynchronous-operations/en-US.mdx"
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
"subtitle": null,
|
||||
"title": "Explain the concept of a microtask queue",
|
||||
"topics": [
|
||||
"async",
|
||||
"javascript"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-the-concept-of-a-microtask-queue/en-US.mdx"
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
"title": "Explain the concept of Cross-Site Request Forgery (CSRF) and its mitigation techniques",
|
||||
"topics": [
|
||||
"javascript",
|
||||
"network",
|
||||
"networking",
|
||||
"security"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-the-concept-of-cross-site-request-forgery-csrf-and-its-mitigation-techniques/en-US.mdx"
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
"subtitle": null,
|
||||
"title": "Explain the concept of debouncing and throttling",
|
||||
"topics": [
|
||||
"async",
|
||||
"javascript",
|
||||
"performance"
|
||||
],
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "Explain the concept of inheritance in ES2015 classes",
|
||||
"topics": [
|
||||
"javascript"
|
||||
"javascript",
|
||||
"oop"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-the-concept-of-inheritance-in-es2015-classes/en-US.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
"subtitle": null,
|
||||
"title": "Explain the concept of partial application",
|
||||
"topics": [
|
||||
"closure",
|
||||
"javascript"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-the-concept-of-partial-application/en-US.mdx"
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "Explain the concept of the Prototype pattern",
|
||||
"topics": [
|
||||
"javascript"
|
||||
"javascript",
|
||||
"oop"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-the-concept-of-the-prototype-pattern/en-US.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
"title": "Explain the concept of the Web Socket API",
|
||||
"topics": [
|
||||
"javascript",
|
||||
"network"
|
||||
"networking"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-the-concept-of-the-web-socket-api/en-US.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -24,6 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "Explain the concept of `this` binding in event handlers",
|
||||
"topics": [
|
||||
"closure",
|
||||
"web-api",
|
||||
"javascript"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-the-concept-of-this-binding-in-event-handlers/en-US.mdx"
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@
|
|||
"subtitle": null,
|
||||
"title": "Explain the difference between classical inheritance and prototypal inheritance",
|
||||
"topics": [
|
||||
"javascript"
|
||||
"javascript",
|
||||
"oop"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-the-difference-between-classical-inheritance-and-prototypal-inheritance/en-US.mdx"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
"subtitle": null,
|
||||
"title": "Explain the difference between `document.querySelector()` and `document.getElementById()`",
|
||||
"topics": [
|
||||
"web-api",
|
||||
"javascript",
|
||||
"html"
|
||||
],
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
"subtitle": null,
|
||||
"title": "Explain the difference between synchronous and asynchronous functions in JavaScript",
|
||||
"topics": [
|
||||
"async",
|
||||
"javascript"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-the-difference-between-synchronous-and-asynchronous-functions/en-US.mdx"
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
"subtitle": null,
|
||||
"title": "Explique a diferença entre funções síncronas e assíncronas",
|
||||
"topics": [
|
||||
"async",
|
||||
"javascript"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-the-difference-between-synchronous-and-asynchronous-functions/pt-BR.mdx"
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
"subtitle": null,
|
||||
"title": "解释同步函数和异步函数之间的差异",
|
||||
"topics": [
|
||||
"async",
|
||||
"javascript"
|
||||
],
|
||||
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/explain-the-difference-between-synchronous-and-asynchronous-functions/zh-CN.mdx"
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue