function f() {
var FileSize = "250";
var Ana = new Array;
Ana["231.78"] = "2.14";
Ana["234.95"] = "2.11";
Ana["238.12"] = "2.08";
Ana["241.30"] = "2.05";
Ana["244.47"] = "2.02";
Ana["250.82"] = "1.97";
Ana["254.00"] = "1.95";
}
f();
我不知道如何写我的请求。 我有一个值(250),需要测试数组,直到我的数组的ID小于我的“FileSize”。在我的例子中,结果应该是1.97。
答案 0 :(得分:0)
为您的问题使用简单数组可能不是最好的表示。你可以选择一对夫妇:
var Ana = [
[231.78, 2.14],
...
[254.00, 1.95]
];
这样,您可以按升序轻松排序Ana
数组(关于每对夫妇的第一个元素的升序)。您可以使用简单的Ana
或while
循环遍历您的for
数组,直到达到您的条件。如果您对Ana
进行排序,则可以轻松有效地恢复该值。
答案 1 :(得分:0)
不是将文件大小存储为键,而是将整个信息存储为数组中的对象:
var f = function(fileSize){
var ana = [];
ana.push({fileSize: 231.78, randomThing: 2.14});
ana.push({fileSize: 234.95, randomThing: 2.11});
ana.push({fileSize: 234.95, randomThing: 2.08});
ana.push({fileSize: 241.30, randomThing: 2.05});
ana.push({fileSize: 244.47, randomThing: 2.02});
ana.push({fileSize: 250.82, randomThing: 1.97});
ana.push({fileSize: 254.00, randomThing: 1.95});
for(var i=0; i < ana.length; i++){
if (ana[i].fileSize > fileSize){
return ana[i].randomThing;
}
}
return null; //or something more appropriate, this happens when there is no item greater than fileSize
}