JavaScript 对象 : find a key/value when in range

标签 javascript jquery object key range

我有一个像这样的 Javascript 对象:

pItems = {
 single : {
  ...
  plz: {
   "1000": 12,
   "2000-2500" : 40
   "3000": 30  
  }
  ...
 }
}

我从输入字段中获取一个值,例如“2300”,现在我需要对象中这个“2300”的值。因为 2300 在 plz-key“2000-2500”的范围内,所以我应该得到的值是“40”。

如果我在关键“范围”中查找某些内容,我不知道如何找到正确的值。

感谢您的任何建议,请提供帮助。

最佳答案

如果可能,您可以遍历键、拆分它们并执行检查。如果在范围内,则返回项目并离开循环。

function getItem(value) {
    var item;
    Object.keys(object.plz).some(function (k) {
        var part = k.split('-');
        if (+value >= part[0] && +value <= (part[1] || part[0])) {
            item = object.plz[k];
            return true;
        }
    });
    return item;
}

var object = { plz: { "1000": 12, "2000-2500": 40, "3000": 30 } };

console.log(getItem('1000'));
console.log(getItem('2300'));

关于JavaScript 对象 : find a key/value when in range,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38056887/

相关文章:

javascript - 在第二个一页时添加类

javascript - wordpress ajax 调用单个帖子

javascript - 如何返回最大键为:value using lodash?的嵌套对象

javascript - 如何防止 Bootstrap 使字体变粗?

javascript - Google Chrome 扩展程序中的 JSONP 通信

java - 对象未填充

javascript - 如何根据相等的属性值合并对象数组?

javascript - jQuery 多实例插件在 setTimeout 中使用 "this"

javascript - 从数组中选择

javascript - 在触摸绑定(bind)元素内单击被忽略