Skip to content

Instantly share code, notes, and snippets.

@gthrm
gthrm / Bufer.js
Last active September 16, 2019 19:10
Bufer
const bufer = (function makeBufer() {
let cash = '';
function fn(value) {
if (!value) {
return cash;
}
cash += value;
}
fn.clear = () => {
@gthrm
gthrm / example-closure.js
Created September 16, 2019 19:07
Пример замыкания
function makePeople(count) {
let people = [];
let serialNumber = 0;
for (; serialNumber < count; serialNumber++) {
let men = (num) => {
return () => {
debugger
console.log(num)
};
@gthrm
gthrm / imageEncode.js
Created September 17, 2019 18:57
_imageEncode from arraybuffer binary to Base64
_imageEncode(arrayBuffer, contentType) {
let u8 = new Uint8Array(arrayBuffer)
let b64encoded = btoa([].reduce.call(new Uint8Array(arrayBuffer), function (p, c) { return p + String.fromCharCode(c) }, ''))
let mimetype = contentType || "image/png"
return "data:" + mimetype + ";base64," + b64encoded
}
@gthrm
gthrm / switchfromRegExp.js
Last active September 22, 2019 07:09
RegExp + switch JS
switch (digitsOnly) {
case digitsOnly.match(/\s+/g) ? digitsOnly : true:
result = digitsOnly.replace(/\s+/g, '');/* оставляем только цифры, удаляем пробелы*/
break;
case digitsOnly.match(/\.+/g) ? digitsOnly: true:
result = digitsOnly.replace(/\.+/g, '');/* оставляем только цифры, удаляем точки*/
break;
case digitsOnly.match(/^\d+/g) ? digitsOnly: true:
result = digitsOnly.replace(/\s+/g, '');/* оставляем только цифры, удаляем пробелы*/
break;
@gthrm
gthrm / randomInteger.js
Created September 22, 2019 07:13
randomInteger function
function randomInteger(min, max) {
// случайное число от min до (max+1)
let rand = min + Math.random() * (max + 1 - min);
return Math.floor(rand);
}
console.log( randomInteger(1, 3) );
@gthrm
gthrm / asyncAwaitFunction.js
Created September 22, 2019 11:17
async await function
async function sendCASH() {
let promise = new Promise((resolve, reject) => {
setTimeout(() => resolve('Ok, nice!'), 3000);
setTimeout(() => reject('Fuck, shit!'), 4000); //не сработает
});
let result = await promise;
return result;
}
sendCASH()
@gthrm
gthrm / funcLol.js
Created October 2, 2019 16:17
funcLol
function funcLol(params) {
this.timeOut ? clearTimeout(this.timeOut) : null
this.timeOut = setTimeout(() => {
console.log('post', params);
}, 1000);
}
@gthrm
gthrm / arrayGenerotor.js
Created October 17, 2019 11:37
Создает массив из одинаковых объектов с уникальным id по указанной длине
export const createContactsArray = (keys, values, len) => {
let i, arr = []
for (i = 1; i <= len; i++) {
let obj = {}
for (let index = 0; index < keys.length; index++) {
obj[keys[index]] = keys[index] === 'id' ? `00${i + index}` : values[index]
}
arr.push(obj);
}
return arr;
const str = 'some string'
str.replace(/[ .,\/#!$%\^&\*;:{}=\-_`~()]/g, '_'); //удалит все знаки и пробел
@gthrm
gthrm / primality.js
Created December 2, 2019 09:22
Проверка на простое число JS
function primality(n) {
for(let i = 2; i < n; i++) {
if(n % i === 0) return false;
}
return n > 1;
}