JSFiddle - React, Tailwind, and code Playground
by Christian Bonato
HTML
<pre><code id="output"></code></pre>
JavaScript
var print = (function() {
var output = document.getElementById("output");
return function(msg) {output.innerHTML += "\n" + msg;}
}());
var lowerKeyFinder = function(prices) {
var keys = Object.keys(prices);
keys.sort(function(a, b) {return a - b;});
return function(val) {
var maxKey = -1;
for (var i = 0, len = keys.length; i < len; i++) {
if (maxKey < 0 || keys[i] < val) {
maxKey = Math.max(maxKey, keys[i]);
}
}
return maxKey;
};
};
var priceArray = {
1: 39.99,
5: 24.99,
10: 19.99,
15: 15.99,
20: 10.99,
25: 5.99,
30: 0.99
}
var lookup = lowerKeyFinder(priceArray);
print("1 ==> " + lookup(1.5));
print("3 ==> " + lookup(5.1));
print("7 ==> " + lookup(7.52));
print("22 ==> " + lookup(39.99));