【问题标题】:Javascript object rangeJavascript对象范围
【发布时间】:2013-09-12 13:10:54
【问题描述】:

我有一个 javascript 对象数组:

[
   Object { from="0", to="350", price="25"}, 
   Object { from="351", to="700", price="50"}
   ...
   Object { from="701", to="*", price="75"} // Where * - unlimited value
]

而输入值:var total = 100

如何找到价格值?

示例:总计 = 100 我的价格值为 25。

【问题讨论】:

  • 一个包含 if 测试的 for 循环怎么样?>= 和 你尝试过什么?

标签: javascript arrays foreach range


【解决方案1】:
var ranges = [
    { from:0, to:350, price:25},
    { from:351, to:700, price:50},
    { from:701, to:"*", price:75}
];    

function isInRange(range, value) {
    return range.from < value && (range.to === '*' || range.to >= value)
}

var value = 100;
var priceFound = false
for (var i = 0; i < ranges.length && !priceFound; i++) {
    var range = ranges[i];
    if (isInRange(range, value)) {
        alert("price: " + range.price);
        priceFound = true
    }
}

我清理了您的对象定义,因为您当前的版本不是有效的 javascript。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-29
    • 2013-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多