JSFiddle - React, Tailwind, and code Playground

by absentik

JavaScript

//alert(TotalOfTen([5.1, 2, "fg", null, 4.9, 7, 8, 8, 1]).join("; \n"));
function test() { alert("count"); }
test.CallDelay(2);


//1
function TotalOfTen(arr) {
    var result = [];
    var num = 10;
    
    for (var i = 0; i < arr.length; i++) { 
        if (!isNaN(arr[i])) {
            for (var j = 0; j < arr.length; j++) { 
                if (!isNaN(arr[j]) && j > i /*i != j*/) {
                    if ((arr[i] + arr[j]) == num) {
                        result.push(arr[i] + "+" + arr[j]);  
                    }
                }
            }
        }   
    }
    
    return result;
}

//2
var FuncData = {};
Function.prototype.CallDelay = function(n) { return CallDelay(n); };
function CallDelay(n) {
    var timeout = 10000;
    
    if (typeof FuncData[this.name] != "object") {
        FuncData[this.name] = {
            name: this.name,
            count: 0,
            maxcount: n,
            timeout: window.setTimeout(function() { FuncData[this.name]--; }, timeout)
        };
    }
    
    if (FuncData[this.name].count < FuncData[this.name].maxcount) {
        FuncData[this.name]++; 
        this();
    }
}