Javascript functions review
map = new Map();
map.set('key', 5); //key can be an object
map.get('key');
map.has('key');
map.delete('key');
map.size;
map.clear();
map.forEach(function() { console.log(arguments); });
//WeakMap allow keys to be garbage collected
weakMap = new WeakMap();
var key = {};
//keys must be objects
weakMap.set(key, 5);
weakMap.get(key);
weakMap.delete(key);
weakMap.has(key);
weakMap.clear();
//Set is like array but concentrate on values instead of keys
set = new Set();
set.add(5);
set.delete(5);
set.clear();
set.size;
set.forEach(function() { console.log(arguments); });
//WeakSet allows values to be garbage collected, values must be obejcts
weakSet = new WeakSet();
var a = {};
weakSet.add(a);
weakSet.has(a);
weakSet.delete(a);
var arr = [];
//loop over array
arr.forEach(function() {});
arr.every(function() {
return true; //false stops loop
});
//get index of value
arr.indexOf(5); //returns -1 when not found
//get part of array
arr.slice(0, 5); //keep original
arr.splice(0, 5); //remove from original
//mapping, sorting ang filtering
arr.map(function(value) { return value * 2; });
arr.filter(function(value) { return value > 10; });
arr.sort();
arr.sort(function(left, right) {
return left > right;
});
//concatenate
arr = [1, 2, 3].concat([4, 5]);
//find object with property value equals to 5
arr.find(x => x.value == 5);
//check if there is some occurence
arr.some(x => x.value > 2);
//sum array values
arr.reduce((acc, x) => acc + x, 0);
//check if array contains string "cat"
arr.includes("cat");