https://gist.github.com/ljharb/58faf1cfcb4e6808f74aae4ef7944cff
While attempting to explain JavaScript's reduce
method on arrays, conceptually, I came up with the following - hopefully it's helpful; happy to tweak it if anyone has suggestions.
JavaScript Arrays have lots of built in methods on their prototype. Some of them mutate - ie, they change the underlying array in-place. Luckily, most of them do not - they instead return an entirely distinct array. Since arrays are conceptually a contiguous list of items, it helps code clarity and maintainability a lot to be able to operate on them in a "functional" way. (I'll also insist on referring to an array as a "list" - although in some languages, List
is a native data type, in JS and this post, I'm referring to the concept. Everywhere I use the word "list" you can assume I'm talking about a JS Array) This means, to perform a single operation on the list as a whole ("atomically"), and to return a new list - thus making it mu
<!DOCTYPE html> | |
<html prefix="og: http://ogp.me/ns#"> | |
<head> | |
<!-- content-type, which overrides http equivalent header. Because of charset, this meta should be set at first. --> | |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> | |
<!-- Overrides http equivalent header. This tells IE to use the most updated engine. --> | |
<meta http-equiv="X-UA-Compatible" content="IE=Edge"> | |
<!-- Tells crawlers how to crawl this page, and the role of this page. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta --> | |
<meta name="robots" content="index, follow"> |