Before you jump into Data Structure & Algorithm #mypersonalnotebook I would assume you have basic knowledge of the following:
- Conditional
- Repetition Construct (forloop & while loops)
- Functions
- Variable Scope
- Recursion
- Declaring Classes
Just basic stuff a JavaScript programmer will know.
Note:
- All output will be displayed on the Console.
- Data Structure & Algorithm will be broken into parts.
- If you don't have a basic knowledge above-listed, I will recommend you grab a copy of Eloquent Javascript
- All codes used here are available on my Github repository.
Array
Every programming language includes some form of array.
Arrays are the most common data structure in computer programming.
Array in JavaScript
Arrays in javascript are linear collection of elements where each element can be access via an index (numeric indexing).
How to Create Arrays in Javascript
The most recommended way of creating arrays in javascript is by Declaring a variable using the computed members access [] operator.
var myArray = [];
When you create an array like this, you will have an array with a length value of 0. Let's play around to be sure.
var myArray = [];
console.log(myArray.length)//0
We can also create an array using the constructed pattern.
var myArray = new Array();
console.log(myArray.length)//0
Note:
- Arrays in javascript are collections of anything(functions,objects,primitives e.t.c)
- Counting begins at index 0 not 1
Accessing Array Elements
Array Elements can be accessed using the [] operator.
var names = ["Somto", "Ezeh",];
console.log(names[0] + ' ' names[1])// Somto Ezeh
Writing Array Elements
Assigning data to the array we use []
var numbers = [];
for(var i= 0; i < 10; i++){
numbers[i] = i+1;
}
console.log(numbers)//1,2,3,4,5,6,7,8,9,10
Array from strings
Invoking the split() function on a string breaks up that string into separate parts and produces an array from that individual string.
var string = "I Love javascript ";
var makeArray = string.split(' ');
console.log(makeArray);//["I","Love","javascript"]
Accesor Functions
With the javascript accessor function, we can access an element of an array and return some value.
indexOf()
The indexOf function loops through an array to see if the parameter passed to it, is found inside the target array and return the position.
var names = ["John","Samuel","Samuel","Obinna"];
var position = names.indexOf("Samuel");
console.log(position);//1
The indexOf() function returns the position of the first element that matches the argument or returns -1, if not found.
lastIndexOf()
The lastIndexOf function loops through an array to see if the parameter passed to it, is found inside the target array and returns the last position matched or returns -1, if not found.
var names = ["John","Samuel","Samuel","Obinna"];
var position = names.lastIndexOf("Samuel");
console.log(position);//2
toString() and join() returns a string representation of an array separated with commas.
var myArray = ["How to use","Accesor","Functions"];
var makeString = myArray.join()
console.log(makeString);//How to use,Accesor,Functions
To get rid of the commas, you pass in an empty quote to the join() function.
var myArray = ["How to use","Accesor","Functions"];
var makeString = myArray.join(" ")
console.log(makeString);//How to use Accesor Functions
The concat() and splice() function produces a new array from an existing array.
The concat() function combines more arrays and produces a new array, and the splice() function produces a new array from a subset of a target array.
concat()
var firstArray = ["Princess", "Precious", "Patience", "Pessy"];
var secondArray = ["Adesunloye","Adedeji","Adetoro"];
var joinAll = firstArray.concat(secondArray);
console.log(joinAll);//["Princess", "Precious", "Patience", "Pessy","Adesunloye","Adedeji","Adetoro"]
splice()
var names = ["Princess", "Precious", "Patience", "Pessy"];
var newArray = names.splice(2,3);
console.log(newArray);//["Patience","Pessy"]
Mutator Functions
pop()
The pop() function removes an element from the end of an Array and returns the value.
var numbers = [1,2,3,4,5,6];
var remove = numbers.pop();
console.log(remove);// 6
Adding an element to an array
There are two ways to add an element to an array.
They are push() and unshift() but we are going to talk about the push() function first.
push()
The push() function adds an element to the end of an array.
var array = [1,2,3,4,5,6,7,8];
array.push(9)
console.log(array) // 1,2,3,4,5,6,7,8,9
unshift()
The unshift() function adds an element to the beginning of an array.
var array = [2,3,4];
array.unshift(1);
console.log(array)//1234
shift()
The shift() function removes an element from the beginning of an Array and returns the value
var array = ["I", "LOVE", "ARRAYS"];
var firstElementRemoved = array.shift();
console.log(firstElementRemoved);// I
//You can also decide to discard the return value
var array = ["I", "LOVE", "ARRAYS"];
array.shift();
console.log(array);//["LOVE", "ARRAYS"]
splice()
The splice() function adds or removes an element from the middle of an array.
The following arguments are needed to add or remove an element(s) from the middle of an array.
- The starting index (where you want to begin adding elements).
- The number of elements to remove (0 when you are adding elements).
- The elements you want to add to the array.
var array = [10,20,30,70,80,90];
var newArray = [40,50,60];
array.splice(3,0,newArray);
console.log(array); //10,20,30,[40,50,60],70,80,90
Elements passed into the splice() function can be a list and not necessarily a collection of arrays.
var array = [10,20,30,70,80,90];
array.splice(3,0,40,50,60);
console.log(array); //10,20,30,40,50,60,70,80,90
Here is an example of using splice() to remove elements from an array:
var intro = ["Hello", "Callme", "John", "Samuel"];
var removeintro = intro.splice(1,2);
console.log(removeintro);//Callme,John
reverse()
The reverse() function reverses the order of the elements of an array.
var array = [1,2,3,4,5,6,7,8,9];
var reverseArray = array.reverse();
console.log(reverseArray);//9,8,7,6,5,4,3,2,1
sort()
The sort() function sorts the elements of an array lexicographically: for more information about lexicographically
var names = ["Williams","Joe","John","Samuel","Somto","Ezeh"];
names.sort();
console.log(names);// Ezeh,Joe,John,Samuel,Somto,Williams
Yay! All is working Fine, now let's see how the sort functions works with numbers.
var numbers = [1,2,3,4,50,60,70,80,5,6,7];
numbers.sort();
console.log(numbers);//1,2,3,4,5,50,6,60,7,70,80
Oops...
Not what we expected. Don't worry we can fix this by passing a function to the sort() function.
function compare(num1, num2) {
return num1 - num2;
}
var nums = [1,2,3,4,50,60,70,80,5,6,7];
var sorted = nums.sort(compare);
console.log(sorted)// 1,2,3,4,5,6,7,50,60,70,80
YES! It works.
Top comments (0)