Professional Documents
Culture Documents
Learning Javascript Data Structures and Algorithms - Arrays
Learning Javascript Data Structures and Algorithms - Arrays
averageTemp[4] = 60.8;
averageTemp
new {1}
new
{2}
{3}
new
var averageTempJan = 31.9; []
var averageTempFeb = 35.3;
var averageTempMar = 42.4; var daysOfWeek = [];
var averageTempApr = 52;
var averageTempMay = 60.8;
var daysOfWeek = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday',
'Friday', 'Saturday'];
length
7
var averageTemp = [];
averageTemp[0] = 31.9;
averageTemp[1] = 35.3;
averageTemp[2] = 42.4;
20
daysOfWeek
{1}
{2} {3}
push
push
numbers.push(11);
numbers.push(12, 13);
numbers
{4}
{6}
{5}
console.log {5}
{6} console.log(fibonacci)
console.log + 1
-1
for (var i=numbers.length; i>=0; i--){ push pop stack
numbers[i] = numbers[i-1];
}
numbers[0] = -1;
array unshift
numbers.unshift(-2);
numbers.unshift(-4, -3);
unshift -2 -3 -4
numbers
i+1
numbers.length -1
pop
numbers.pop();
splice
shift
numbers.splice(5,0,2,3,4);
numbers.shift();
numbers.splice(5,3,2,3,4);
splice
numbers.splice(5,3);
var averageTempDay1 = [72,75,79,79,81,81];
var averageTempDay2 = [81,79,75,75,73,72];
delete
var averageTemp = [];
remove averageTemp[0] = [72,75,79,79,81,81];
numbers[0] averageTemp[1] = [81,79,75,75,73,72];
undefined numbers[0] =
undefined splice pop
shift
//day 1 averageTemp
averageTemp[0] = [];
averageTemp[0][0] = 72; printMatrix(averageTemp);
averageTemp[0][1] = 75;
averageTemp[0][2] = 79;
averageTemp[0][3] = 79;
averageTemp[0][4] = 81;
averageTemp[0][5] = 81;
//day 2
averageTemp[1] = []; i j z
averageTemp[1][0] = 81;
averageTemp[1][1] = 79;
averageTemp[1][2] = 75; var matrix3x3x3 = [];
averageTemp[1][3] = 75; for (var i=0; i<3; i++){
averageTemp[1][4] = 73; matrix3x3x3[i] = [];
averageTemp[1][5] = 72; for (var j=0; j<3; j++){
matrix3x3x3[i][j] = [];
for (var z=0; z<3; z++){
matrix3x3x3[i][j][z] = i+j+z;
}
}
}
function printMatrix(myMatrix) {
for (var i=0; i<myMatrix.length; i++){
for (var j=0; j<myMatrix[i].length; j++){
console.log(myMatrix[i][j]);
}
}
}
for
i j
reverse
for (var i=0; i<matrix3x3x3.length; i++){ slice
for (var j=0; j<matrix3x3x3[i].length; j++){
for (var z=0; z<matrix3x3x3[i][j].length; z++){ some
console.log(matrix3x3x3[i][j][z]); true
}
} sort
}
toString
for valueOf toString
concat
var zero = 0;
var positiveNumbers = [1,2,3];
concat var negativeNumbers = [-3,-2,-1];
every var numbers = negativeNumbers.concat(zero, positiveNumbers);
false
filter true
zero negativeNumbers
positiveNumbers numbers
forEach
join
indexOf
lastIndexOf
map for
true forEach
false for
evenNumbers [2,
4, 6, 8, 10, 12, 14]
some every
some true
numbers.forEach(function (x) {
console.log(x % 2 == 0);
});
Chapter 1
numbers.forEach(x => {
console.log((x % 2 == 0));
});
@@iterator
fill
from
keys @@iterator
of
values @@iterator
Array @@iterator
Symbol.iterator
keys @@iterator
let iterator = numbers[Symbol.iterator]();
console.log(iterator.next().value); //1
console.log(iterator.next().value); //2 let aKeys = numbers.keys(); //retrieve iterator of keys
console.log(iterator.next().value); //3 console.log(aKeys.next()); // {value: 0, done: false }
console.log(iterator.next().value); //4 console.log(aKeys.next()); // {value: 1, done: false }
console.log(iterator.next().value); //5 console.log(aKeys.next()); // {value: 2, done: false }
https://goo.gl/eojEGk
entries
entries @@iterator
Array.from
https://goo.gl/n4rOY4 numbersCopy.fill(0);
numbersCopy [0,0,0,0,0,0]
numbersCopy.fill(2, 1);
2
Array.of 1 [0,2,2,2,2,2]
1 3 5
[0,2,2,1,1,2]
let numbers3 = [1];
let numbers4 = [1,2,3,4,5,6];
fill
Array.from(numbers4) 6 1 [1,1,1,1,1,1]
spread Chapter 1
https://goo.gl/sqiHSK
... numbers4
https://goo.gl/FoJYNf
copyWithin
copyArray.copyWithin(0, 3);
4 5 b a a
b
a b sort
copyArray = [1, 2, 3, 4, 5, 6];
copyArray.copyWithin(1, 3, 5);
numbers.sort(compare);
sort Array
compareFunction
numbers
reverse
numbers.reverse();
indexOf
var names =['Ana', 'ana', 'john', 'John'];
console.log(names.sort()); lastIndexOf
numbers
console.log(numbers.indexOf(10));
console.log(numbers.indexOf(100));
ana John
9 -1
http://www.asciitab numbers.push(10);
console.log(numbers.lastIndexOf(10));
le.com/
console.log(numbers.lastIndexOf(100));
10 15
-1
compareFunction
100
["Ana", "ana", "John", "john"]
names.sort(function(a, b){
if (a.toLowerCase() < b.toLowerCase()){
return -1
}
if (a.toLowerCase() > b.toLowerCase()){
return 1 let numbers = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];
} function multipleOf13(element, index, array) {
return 0; return (element % 13 == 0) true : false;
}); }
console.log(numbers.find(multipleOf13));
console.log(numbers.findIndex(multipleOf13));
find findIndex
toString join
console.log(numbers.toString());
undefined
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
https://goo.gl/2vAaCh
10
- join
console.log(numbers.includes(15));
console.log(numbers.includes(20));
http://www.w3school
s.com/js/js_arrays.asp
http://www
let numbers2 = [7,6,5,4,3,2,1];
console.log(numbers2.includes(4,5));
.w3schools.com/js/js_array_methods.asp
false 4 https://developer.mozilla.org/en-US/docs/Web/Jav
5 aScript/Reference/Global_Objects/Array http://goo.gl/vu1d
iT
https://goo.gl/tTY9bc
http://underscorejs.org/
http://lodash.com/
http://goo.gl/kZBsGx
TypeArray
let myArray = new TypedArray(length) TypedArray
TypedArray
Int8Array
Uint8Array
Uint8ClampedArray
Array
Int16Array
Uint16Array
Int32Array
Uint32Array
Float32Array
Float64Array
let length = 5;
let int16 = new Int16Array(length);