Javascript 按关键目标选择对象映射

Javascript 按关键目标选择对象映射,javascript,javascript-objects,Javascript,Javascript Objects,给定一个数字,我需要知道它在哪个门柱上 我想这个片段说明了我需要什么: const breakPoints = { '>1104': 4, '830<1104': 3, '556<830': 2, '<556': 1 } const calculateHowMany = ( currentSize, breakPoints ) => { ... ... return howMany } let A = calculateHowMany

给定一个数字,我需要知道它在哪个门柱上

我想这个片段说明了我需要什么:

const breakPoints = {
  '>1104': 4,
  '830<1104': 3,
  '556<830': 2,
  '<556': 1
}

const calculateHowMany = ( currentSize, breakPoints ) => {
  ...
  ...
  return howMany
}

let A = calculateHowMany( 1200,  breakPoints ) // should be 4
let B = calculateHowMany( 920,  breakPoints ) // should be 3
let C = calculateHowMany( 300,  breakPoints ) // should be 1

const断点={
'>1104': 4,

'830正如我在评论中所描述的,智能数据结构和哑代码比其他方法工作得更好:

const断点=[
{“金额”:1,“最小值”:0,“最大值”:556},
{“数量”:2,“最小值”:556,“最大值”:830},
{“数量”:3,“最小值”:830,“最大值”:1104},
{“数量”:4,“最小”:1104,“最大”:无限}
];
常量calculateHowMany=(当前大小,断点)=>{
返回断点.find(breakpoint=>breakpoint.min currentSize).amount;
};
设A=calculateHowMany(1200,断点)//应该是4
设B=calculateHowMany(920,断点)//应该是3
设C=calculateHowMany(300,断点)//应该是1

console.log(A,B,C);
试着用文字表达。你能帮我吗?我不知道你想要什么。让
断点看起来像一个数组,
[[1104,无穷大,4],[8301104,3],…
从正确构造数据开始。如前所述,您必须解析属性名称等。我总是喜欢使用具有固定属性名称的对象数组来表示集合。请考虑以下内容:`[{“amount”:4,“min”:1104,“max”:null},{“amount”:3,“min”:830,“max”:1104},…]然后你的解决方案变成了一个简单的循环,用来检查1200是否在最小值和最大值之间。如果是,则返回数值。