diff --git a/README.md b/README.md index b5a5a635..f8384bdf 100644 --- a/README.md +++ b/README.md @@ -4,4 +4,12 @@ This book will teach you the basics of programming and Javascript. Whether you a ![](./assets/intro.png) -JavaScript (_JS for short_) is the programming language that enables web pages to respond to user interaction beyond the basic level. It was created in 1995, and is today one of the most famous and used programming languages. +JavaScript is the world's most popular programming language. + +JavaScript is the programming language of the Web. + +JavaScript is easy to learn. + +JavaScript, often abbreviated JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites use JavaScript on the client side for webpage behavior, often incorporating third-party libraries. + +Do not confuse JavaScript with the Java programming language. Both "Java" and "JavaScript" are trademarks or registered trademarks of Oracle in the U.S. and other countries. However, the two programming languages have very different syntax, semantics, and use. diff --git a/arrays/foreach.md b/arrays/foreach.md new file mode 100644 index 00000000..23bf7d2b --- /dev/null +++ b/arrays/foreach.md @@ -0,0 +1,8 @@ +# Looping with Foreach + +The forEach() method executes a provided function once for each array element. + +```javascript +var arr = ["one", "two", "three"]; + +arr.forEach(e => console.log(e)); diff --git a/arrays/join.md b/arrays/join.md new file mode 100644 index 00000000..077dcc19 --- /dev/null +++ b/arrays/join.md @@ -0,0 +1,8 @@ +#Joining + +The .Join() method, makes an array turn into a string and joining it all together. + +```javascript +var array ["one", "two", "three", "four"]; + +console.log(array.join(" ")); \ No newline at end of file diff --git a/arrays/looping.md b/arrays/looping.md new file mode 100644 index 00000000..6e2111cd --- /dev/null +++ b/arrays/looping.md @@ -0,0 +1,11 @@ +#Looping + +With Looping, you can access any point in an array with an increment, making you go through every item in the array. + +```javascript +var array = [1, 2, 3, 4, 5]; + +for (let i = 0; i < array.length(); i++) +{ + console.log(array[i]); +} diff --git a/arrays/methods.md b/arrays/methods.md new file mode 100644 index 00000000..7c6e7eeb --- /dev/null +++ b/arrays/methods.md @@ -0,0 +1,10 @@ +# Methods + +Using methods on an array alters an array in some sort of way. + +```javascript +var array = [1, 2, 3]; + +array = array.join(''); + +console.log(array); diff --git a/arrays/pop.md b/arrays/pop.md new file mode 100644 index 00000000..cfc44fb3 --- /dev/null +++ b/arrays/pop.md @@ -0,0 +1,10 @@ +# Pop + +The pop() method removes the last element from an array and returns that element. This method changes the length of the array. + +```javascript +var arr = ["one", "two", "three", "four", "five"]; + +arr.pop(); + +console.log(arr); diff --git a/arrays/push.md b/arrays/push.md new file mode 100644 index 00000000..e63fc63c --- /dev/null +++ b/arrays/push.md @@ -0,0 +1,10 @@ +# Push + +You can push certain items to an array making the last index the item you just added. + +```javascript +var array = [1, 2, 3]; + +array.push(4); + +console.log(array); diff --git a/arrays/shift.md b/arrays/shift.md new file mode 100644 index 00000000..64e01319 --- /dev/null +++ b/arrays/shift.md @@ -0,0 +1,10 @@ +# Shift + +What Shift does to an array is delete the first index of that array and move all indexes to the left. + +```javascript +var array = [1, 2, 3]; + +array.shift(); + +console.log(array); diff --git a/arrays/sort.md b/arrays/sort.md new file mode 100644 index 00000000..f88e3da5 --- /dev/null +++ b/arrays/sort.md @@ -0,0 +1,10 @@ +# Sorting an Array + +The sort() method sorts the items of an array in a specific order (ascending or descending). + +```javascript +var city = ["California", "Barcelona", "Paris", "Kathmandu"]; + +var sortedArray = city.sort(); + +console.log(sortedArray); diff --git a/arrays/spread.md b/arrays/spread.md new file mode 100644 index 00000000..e6576ac4 --- /dev/null +++ b/arrays/spread.md @@ -0,0 +1,8 @@ +#Spread Operator + +With the Spread Operator, it allows us to quickly copy all or part of an existing array or object into another array or object. + +```javascript +var arr = [1, 2, 3, 4, 5]; + +console.log(...arr); diff --git a/boolean/README.md b/boolean/README.md new file mode 100644 index 00000000..0eb4e269 --- /dev/null +++ b/boolean/README.md @@ -0,0 +1,16 @@ +# Boolean + +A JavaScript Boolean represents one of two values: true or false. + +```javascript +var equalsHeads = false; + +if (equalsHeads === true) +{ + console.log("coin is heads"); +} + +else if (equalsHeads === false) +{ + console.log("coin is tails"); +} diff --git a/linked list/README.md b/linked list/README.md new file mode 100644 index 00000000..c5a9dcc3 --- /dev/null +++ b/linked list/README.md @@ -0,0 +1,13 @@ +# Linked Lists + +In all programming languages, there are data structures. One of these data structures are called Linked Lists. There is no built in method or function for Linked Lists in Javascript so you will have to implement it yourself. + +A Linked List is very similar to a normal array in Javascript, it just acts a little bit differently. + +In this chapter, we will go over the different ways we can implement a Linked List. + +Here's an example of a Linked List: + +``` +["one", "two", "three", "four"] +``` diff --git a/linked list/add.md b/linked list/add.md new file mode 100644 index 00000000..cc920440 --- /dev/null +++ b/linked list/add.md @@ -0,0 +1,32 @@ +# Add + +What we will do first is add a value to a Linked List. + +```js +class Node { + constructor(data) { + this.data = data + this.next = null + } +} + +class LinkedList { + constructor(head) { + this.head = head + } + + append = (value) => { + const newNode = new Node(value) + let current = this.head + + if (!this.head) { + this.head = newNode + return + } + + while (current.next) { + current = current.next + } + current.next = newNode + } +} diff --git a/linked list/pop.md b/linked list/pop.md new file mode 100644 index 00000000..33579c36 --- /dev/null +++ b/linked list/pop.md @@ -0,0 +1,25 @@ +# Pop + + +```js +class Node { + constructor(data) { + this.data = data + this.next = null + } +} + +class LinkedList { + constructor(head) { + this.head = head + } + + pop = () => { + let current = this.head + + while (current.next.next) { + current = current.next + } + current.next = current.next.next + } +} \ No newline at end of file diff --git a/linked list/prepend.md b/linked list/prepend.md new file mode 100644 index 00000000..192479ea --- /dev/null +++ b/linked list/prepend.md @@ -0,0 +1,29 @@ +# Add + +What we will do first is add a value to a Linked List. + +```js +class Node { + constructor(data) { + this.data = data + this.next = null + } +} + +class LinkedList { + constructor(head) { + this.head = head + } + + prepend = (value) => { + const newNode = new Node(value) + + if (!this.head) { + this.head = newNode + } + else { + newNode.next = this.head + this.head = newNode + } + } +} \ No newline at end of file