Javascript 需要从ID恢复数组中的值
我不知道如何写我的请求。Javascript 需要从ID恢复数组中的值,javascript,arrays,Javascript,Arrays,我不知道如何写我的请求。 我的值为250,需要测试数组,直到数组的ID小于文件大小。在我的示例中,结果应该是1.97。使用简单数组解决问题可能不是最好的表示。你可以选择一对夫妇: 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["2
我的值为250,需要测试数组,直到数组的ID小于文件大小。在我的示例中,结果应该是1.97。使用简单数组解决问题可能不是最好的表示。你可以选择一对夫妇:
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();
通过这种方式,您可以轻松地按升序对Ana数组进行排序,升序是关于每对数组的第一个元素。通过一个简单的while或for循环,您可以迭代Ana数组,直到达到您的条件。如果对Ana进行排序,则恢复值将变得简单而高效。与其将文件大小存储为键,不如将整个信息作为对象存储在数组中:
var Ana = [
[231.78, 2.14],
...
[254.00, 1.95]
];
请注意,数组不能有分数索引。您实际拥有的是一个具有7个自定义属性的零长度数组对象。结果1.97可能是重复的吗?250.82不是大于250吗?
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
}