Skip to content

Instantly share code, notes, and snippets.

@konijn
konijn / gist:4635185
Last active December 11, 2015 17:29
Log in the console all globals, still will not tell you where you created the global..
/* Dump all 'user space' globals
Many thanks to glutamat: http://stackoverflow.com/questions/14585537 */
void( (function()
{
var w = document.body.appendChild( document.createElement("iframe") ).contentWindow,
known =
[
"screenLeft" , "screenTop" , "scrollX" , "scrollY" , "pageYOffset" , "pageXOffset" , /* Scrolling related built-ins */
"innerWidth" , "innerHeight" , "outerWidth" , "outerHeight" , /* Size related built-ins */
"defaultstatus" , "defaultStatus", /* Status bar text related built-ins */
@konijn
konijn / prime.js
Last active December 14, 2015 14:18
function isPrime( n )
{
if( n < 2 )
return false
if( n < 4 )
return true;
if( n % 2 == 0 )
return false;
if( n % 3 == 0 )
return false;
@konijn
konijn / gist:6636750
Created September 20, 2013 12:30 — forked from shamansir/gist:3007244
Overlapping squares in js
// Excerpt from: https://github.com/Animatron/player/blob/master/anm.collisions.js
function edgeTest(p1, p2, p3, r2) {
var rot = [ -(p2[1] - p1[1]),
p2[0] - p1[0] ];
var ref = (rot[0] * (p3[0] - p1[0]) +
rot[1] * (p3[1] - p1[1])) >= 0;
for (var i = 0, il = r2.length; i < il; i+=2) {
@konijn
konijn / gist:7529404
Created November 18, 2013 15:13
Nicely format number in js
function formatNumber( n , precision )
{
n = n * 1;
return n.toLocaleString().split(".")[0] + "." + n.toFixed( precision || 2 ).split(".")[1];
}
@konijn
konijn / permute.js
Created November 18, 2013 16:10
Permute
/* Permute will give all permutations for the provided array ( sourceSet )
do not provide usedSet nor permutationSet
Based on http://stackoverflow.com/a/9960925/7602
*/
function permute( sourceSet , usedSet , permutationsSet ) {
permutationsSet = permutationsSet || [];
usedSet = usedSet || [];
for (var i = 0; i < sourceSet.length; i++) {
usedSet.push( sourceSet.splice(i, 1)[0] );
if (!sourceSet.length)
function sortfunction(a, b)
{
return (a - b) //causes an array to be sorted numerically and ascending
}
function canWeDoIt( target , a )
{
if( a.length == 1 )
return (a[0] == target);
if( a[0] == target )
<!DOCTYPE html>
<html>
<head>
<meta name="description" content="ISEE Math Challenge Generator" />
<meta charset=utf-8 />
<title></title>
</head>
<body>
</body>
@konijn
konijn / powerSet.js
Last active January 4, 2016 00:39
powerSet
function powerSet( list ){
var set = [],
listSize = list.length,
combinationsCount = (1 << listSize);
for (var i = 1; i < combinationsCount ; i++ , set.push(combination) )
for (var j=0, combination = [];j<listSize;j++)
if ((i & (1 << j)))
combination.push(list[j]);
return set;
@konijn
konijn / template.js
Created February 7, 2014 14:29
Tiny Templates
function fillTemplate( s )
{ //Replace ~ with further provided arguments
for( var i = 1, a = s.split('~'), s = '' ; i < arguments.length ; i++ )
s = s + a.shift() + arguments[i];
return s + a.join("");
}
//Good
function lambdafy( f )
{
return function lambdafier() {
var args = Array.prototype.slice.call(arguments);
return function lambda(){
f.apply( this , args );
}
}
}