Skip to content
View sojs-coder's full-sized avatar
💭
coding
💭
coding

Highlights

  • Pro

Block or report sojs-coder

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
sojs-coder/README.md

SoJS

Professional fullstack dev since 2017

Quick access

json2array

Convert a JSON object to an array

Usage:

json2array({"thing1":{"key1":"value"},"thing2":{"otherKey":"otherVal"}}); [{"key1":"value","key":"thing1"},{"otherKey":"otherVal","key":"otherVal"}]

function json2array(json) {
    var result = [];
    var keys = Object.keys(json);
    keys.forEach(function (key) {
        var endJSON = json[key];
        endJSON.key = key
        result.push(endJSON);
    });
    return result;
}

SumArrays

Add two vectors togeth

function sumArrays(...arrays) {
    const n = arrays.reduce((max, xs) => Math.max(max, xs.length), 0);
    const result = Array.from({ length: n });
    return result.map((_, i) => arrays.map(xs => xs[i] || 0).reduce((sum, x) => sum + x, 0));
}

rand

Generates a random number X digits long

function rand(digits) {
    return Math.floor(Math.random() * parseInt('8' + '9'.repeat(digits - 1)) + parseInt('1' + '0'.repeat(digits - 1)));
}

isEmptyObject

Checks to see if an object is equal to {}

function isEmptyObject(obj) {
    for (var key in obj) {
        if (obj.hasOwnProperty(key))
            return false;
    }
    return true;
}

uid

Vanilla JS generate UID

const uid = () => {
  let
    d = new Date().getTime(),
    d2 = ((typeof performance !== 'undefined') && performance.now && (performance.now() * 1000)) || 0;
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
    let r = Math.random() * 16;
    if (d > 0) {
      r = (d + r) % 16 | 0;
      d = Math.floor(d / 16);
    } else {
      r = (d2 + r) % 16 | 0;
      d2 = Math.floor(d2 / 16);
    }
    return (c == 'x' ? r : (r & 0x7 | 0x8)).toString(16);
  });
};

randRange

Generates a random number in range

function randRange(min, max) {
  return Math.random() * (max - min) + min;
}

Pinned Loading

  1. Multisnake Multisnake Public

    A multiplayer snake game.

    JavaScript 3 3

  2. Anvil Anvil Public

    Forge HTML games

    JavaScript 2 1

  3. SoAuth SoAuth Public

    SoAuth is a powerful and secure authentication solution that offers serverless capabilities, making it easy to integrate into any project.

    JavaScript 1

  4. SoIdeas SoIdeas Public

    Code idea generator tracks completion & rates difficulty. Generates ideas based on difficulty and tracks popularity.

    JavaScript 1

  5. Space-Wars Space-Wars Public

    Defend your fly zone from alien invaders, rack up points and escape swarms with your trusty radar. Comment your high scores and have fun!

    JavaScript 1