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是否在最小值和最大值之间。如果是,则返回数值。