【发布时间】:2015-01-13 17:17:56
【问题描述】:
我正在创建一个函数来从一个值返回下一个最接近的数字和相关的颜色,比如如果值是500,该函数将返回600 及其相关的颜色beige。我正在使用两个数组,一个用于数字,另一个用于颜色来完成此操作。我想知道这样做是否是正确的方法。除了两个单独的数组,我可以只使用一个关联数组来获取结果吗?
代替:
var array = [50,100,200,400,600,1000,1500]
var color = {50:"red",100:"yellow",200:"Golden",400:"Black",600:"beige",1000:"pink",1500:"green"};
是否可以使用类似的东西:
var array ={50:"red",100:"yellow",200:"Golden",400:"Black",600:"beige",1000:"pink",1500:"green"};
示例如下:
var array = [50,100,200,400,600,1000,1500]
var color = {50:"red",100:"yellow",200:"Golden",400:"Black",600:"beige",1000:"pink",1500:"green"};
var getClosestValues = function(a, x) {
var lo, hi;
for (var i = a.length; i--;) {
if (a[i] <= x && (lo === undefined || lo < a[i])) lo = a[i];
if (a[i] >= x && (hi === undefined || hi > a[i])) hi = a[i];
};
var text = [];
var text = [x+'/'+hi,color[hi]];
return text;
}
var print = getClosestValues(array,1411);
$('.area').html('<div style="background:'+print[1]+'">'+print[0]+'</div>');
【问题讨论】:
-
使用数字作为关联数组键可能会遇到麻烦,因为它们不是索引。最好使用字符串。
标签: javascript jquery html arrays associative-array