JSFiddle - React, Tailwind, and code Playground

by Darby Rathbone

JavaScript

(function () {
    //'use strict';

    var objectValues = function (obj) {
        var keys = Object.keys(obj);
        var ret = [];

        for (var i = 0; i < keys.length; i++) {
            ret.push(obj[keys[i]]);
        }

        return ret;
    };

    if (typeof module !== 'undefined' && module.exports) {
        module.exports = objectValues;
    } else {
        window.objectValues = objectValues;
    }

    var entries = function () {
        var index = 0,
            o = this,
            keys = Object.keys(o),
            values = keys.map(function (e) {
                return o[e]
            }),
            value = {
                next: function next() {
                    index = index % Math.max(keys.length, values.length);
                    return [keys[index], values[index++]];
                }
            };
        return value;
    };
    if (Object.defineProperty) {
        try {
            Object.defineProperty(Object.prototype, 'entries', {
                value: entries,
                configurable: true,
                writable: true
            });
        } catch (e) {}
    }

    if (!Object.prototype.entries) {
        Object.prototype.entries = entries;
    }

    var findIndex = function (predicate) {
        var list = Object(this);
        var length = list.length >>> 0; // ES.ToUint32;
        if (length === 0) return -1;
        if (typeof predicate !== 'function') {
            throw new TypeError('Array#findIndex: predicate must be a function');
        }
        var thisArg = arguments.length > 1 ? arguments[1] : undefined;
        for (var i = 0; i < length && i in list; i++) {
            if (predicate.call(thisArg, list[i], i, list)) return i;
        }
        return -1;
    };

    if (Object.defineProperty) {
        try {
            Object.defineProperty(Array.prototype, 'findIndex', {
                value: findIndex,
                configurable: true,
                writable: true
            });
  ...