JSFiddle - React, Tailwind, and code Playground

by Walter Rumsby

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.2/underscore-min.js"></script>
<input type="number" id="foo" min="0" step="1">

JavaScript

var element = $('#foo');

attrs = _.reduce(['min', 'max', 'step'], function(memo, key) {
    var result, value;
    
    debugger;

    if (typeof memo === 'string') {
        result = {};
        value = element.attr(memo);

        if (typeof value !== 'undefined') {
            result[memo] = value;
        }
    } else {
        result = memo;
    }

    value = element.attr(key);

    if (typeof value !== 'undefined') {
        result[key] = value;
    }

    return result;
});

var options = $.extend({}, attrs);

alert(options.min + ', ' + options.max + ', ' + options.step);