使用JavaScript检查输入的数字是否在范围内
检查输入是否在数组中的范围内。假设,如果输入值为12,则答案应为ball使用JavaScript检查输入的数字是否在范围内,javascript,Javascript,检查输入是否在数组中的范围内。假设,如果输入值为12,则答案应为ball var ranges = [{"1-10":"Apple"},{"11-20":"Ball"},{"21-30":"Cat"}] var input_number = 12; var get_answer = ... // should be "Ball" 试一试 ranges.map(x=>Object.entries(x.flat()) .find(a=>(a[0]=a[0]。拆分`-`,n>=a[0][0]&&n
var ranges = [{"1-10":"Apple"},{"11-20":"Ball"},{"21-30":"Cat"}]
var input_number = 12;
var get_answer = ... // should be "Ball"
试一试
ranges.map(x=>Object.entries(x.flat())
.find(a=>(a[0]=a[0]。拆分`-`,n>=a[0][0]&&nObject.entries(x.flat())
.find(a=>(a[0]=a[0]。拆分“-”,n>=a[0][0]&&n我将使用筛选器
const getValue=(值,范围)=>{
常量res=范围。过滤器(obj=>{
常量[min,max]=Object.keys(obj)[0]。拆分(“-”;
返回值>=+min&&value 0?对象值(res[0])[0]:“不适用”
}
常量范围=[{“1-10”:“苹果”}、{“11-20”:“球”}、{“21-30”:“猫”}]
console.log(getValue(0,范围))
console.log(getValue(1,范围))
console.log(getValue(12,范围))
console.log(getValue(30,范围))
log(getValue(31,ranges))
简单代码
var ranges=[{“1-10”:“Apple”}、{“11-20”:“Ball”}、{“21-30”:“Cat”}]
函数getAns(输入_编号){
让结果为空
//处理输入范围
for(让索引在范围内){
for(输入范围[索引]){
设min=key.split('-')[0]
设max=key.split('-')[1]
如果(input_number>=min&&input_number为什么要使用具有不同键的对象数组,而不是像{“1-10”:“Apple”,“11-20”:“Ball”,“21-30”:“Cat”}这样的单个对象
?@Barmar,谢谢你的回答。如果我在单个对象中使用,那么我如何在给定范围内找到我的输入编号。循环对象的所有属性,将键拆分为起始编号和结束编号,将输入编号与它们进行比较,如果它在范围内,则返回值。很难读取。为什么不使用一些描述性变量名称?初学者不会从这个答案中得到太多
ranges.map(x=> Object.entries(x).flat() )
.find(a=> (a[0]=a[0].split`-`, n>=a[0][0] && n<=a[0][1] && a[1]) )