Skip to content

Instantly share code, notes, and snippets.

@krazov
krazov / mapping-old-school.js
Last active March 4, 2017 20:27
Old school mapping
var array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var newArray = [];
for (var i = 0; i < array.length; i++) {
newArray.push(array[i] * 2);
}
@krazov
krazov / mapping-pseudo-functional.js
Created March 4, 2017 20:32
Pseudo functional mapping
var array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var newArray = [];
array.forEach(function (item) {
newArray.push(item * 2);
});
@krazov
krazov / mapping-functional.js
Last active March 4, 2017 20:58
The right way mapping
const array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const newArray = array.map(function (item) {
return item * 2;
});
@krazov
krazov / mapping-functional-es6.js
Last active March 4, 2017 21:07
The right way mapping: ES6 edition
const array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const newArray = array.map(item => item * 2);
@krazov
krazov / filter-old-school.js
Last active March 4, 2017 21:13
Old school filtering
var array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var newArray = [];
for (var i = 0; i < array.length; i++) {
if (array[i] % 2 == 0) {
newArray.push(array[i] * 2);
}
}
@krazov
krazov / filter-new-way-es6.js
Created March 4, 2017 21:17
New way filtering
const array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const newArray = array
.filter(item => item % 2 == 0)
.map(item => item * 2);
@krazov
krazov / iterations-vs-steps.js
Created March 4, 2017 21:37
Iterations versus steps
// the array
const array = [
{ value: 1 },
{ value: 2 },
{ value: 3 },
{ value: 4 },
{ value: 5 },
{ value: 6 },
{ value: 7 },
{ value: 8 },
@krazov
krazov / reduce-sum.js
Created March 4, 2017 22:10
The most dull use of `reduce()`
const array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var sum = array.reduce((result, value) => result + value);
@krazov
krazov / reduce-distinct.js
Created March 4, 2017 22:19
Getting distinct values from array with `reduce()`
const array = [1, 2, 2, 3, 4, 2, 5, 6, 7, 4, 8, 9, 10];
const distinctArray = array.reduce((final, current) => final.indexOf(current) > -1 ? final : final.concat(current), []);
@krazov
krazov / reduce-string-transformation.js
Last active March 4, 2017 22:45
String transformation with `reduce()`
// mocked stuff
const stringTemplate = 'I’m sorry, {astronautName}. I’m afraid I can’t do that. This mission is too important for me to allow you to {unwantedThing} it.';
const values = {
astronautName: 'Dave',
unwantedThing: 'jeopardize'
};
// original function
function parseTemplate(stringTemplate, values) {