Skip to content

Instantly share code, notes, and snippets.

View vldvel's full-sized avatar

Vlad vldvel

  • Amsterdam
View GitHub Profile
let sum = arr.reduce((p,c) => p + c, 0);
return `${sum - Math.max(...arr)}, ${sum - Math.min(...arr)}`;
return sum - Math.max.apply(Math, arr) + ', ' + sum - Math.min.apply(Math, arr);
@vldvel
vldvel / spread.js
Last active February 27, 2018 08:51
const array = [1, 2, 3];
function sum(a, b, c) {
return a + b + c;
}
sum(1, 2, 3); // 6
sum(...array); // = sum(...[1, 2, 3]) = sum(1, 2, 3) -> 6
return `${sum - Math.max(...arr)}, ${sum - Math.min(...arr)}`;
array.reduce(param1[, param2]);
// param1 - Function(accumulator, currentValue, index, array)
// param2 - accumulator's initial value
// EXAMPLE
[1, 2, 3, 4, 5].reduce((acc, val, i) => {
return acc += val;
}, 0); // 15
let sum = arr.reduce((p, c) => p + c, 0);
regexp.test(param);
// param - String or Function(return String)
//EXAMPLE
/ABC/.test('ABCDEF'); // true
/ABC/.test('ABODEF'); // false
array.map(param1[, param2]);
// param1 - Function(value, index, array)
// param2 - Object (to bind as this)
// EXAMPLE
[1, 2, 3, 4, 5].map((val, i, arr) => {
if (arr[i] === val) // always true
return val + i;
}); // [1, 3, 5, 7, 9]
string.split([param1[, param2]]); // All params are optional
// param1 - String or RegExp
// param2 - Number
// EXAMPLE
'ABCDEF'.split(); // ['ABCDEF']
'ABCDEF'.split('CD'); // ['AB', 'EF']
'ABCDEF'.split('CD', 1); // ['AB']
string.replace(param1, param2);
// param1 - RegExp or String
// param2 - String or Function(return String)
// EXAMPLE
'ABC'.replace(/A/, 'X'); // XBC