JSFiddle - React, Tailwind, and code Playground

by kazabr

JavaScript

function makeBuffer() {
    var str = '';
    
    return function buffer(s) {
        if(s !== undefined) {
            str += s;
        } else {
            return str;
        }
        
        buffer.clear = function() {
            str = '';
        }
    };
}

var buffer = makeBuffer();

console.clear();
buffer('Тест');
buffer(' тебя не съест ');
console.log( buffer() );
buffer.clear();
console.log( buffer() );

/*
console.clear();

buffer('Замыкания');
buffer(' Использовать');
console.log( buffer() );
buffer(' Нужно!');
console.log( buffer() );
*/

/*
buffer(0);
buffer(1);
buffer(0);

console.clear();
console.log( buffer() );
*/



/*
function makeArmy() {
    var shooters = [];
    
    for(var i=0; i<10; i++) {
        var shooter = (function(x) {
            return function() {
                alert(x);
            };
        })(i);
        shooters.push(shooter);
    }
    
    return shooters;
}

var army = makeArmy();

army[0]();
army[5]();
*/

/*
alert( army[0]() );
alert( army[5]() );
*/


/*
function myCounter() {
    var currentCount = 0;
    
    return {
        getNext: function() {
            return ++currentCount;
        },
        set: function(value) {
            return currentCount = value;
        },
        reset: function() {
            return currentCount = 0;
        }
    };
}

var counter = myCounter();

console.clear();
console.log( counter.getNext() );
console.log( counter.getNext() );
console.log( counter.reset() );
console.log( counter.set(5) );
console.log( counter.getNext() );
*/


/********************************************************************/

function filter(arr, func) {
    var res = [];
    
    for(var i=0; i<arr.length; i++) {
        if(func(arr[i])) res.push(arr[i])
    }
    
    return res;
}

function inBetween(a, b) {
    return function(x) {
        return x >= a && x <= b;
    };
}

function inArray(arr) {
    return function(x) {
        return arr.indexOf(x) != -1;
    };
}


var arr = [1, 2, 3,...