javascript或nodejs是否具有访问数组项的索引范围?
我在ruby中看到了这段代码javascript或nodejs是否具有访问数组项的索引范围?,javascript,node.js,Javascript,Node.js,我在ruby中看到了这段代码 module Plutus TAX_RATES = { (0..18_200) => { base_tax_amount: 0, tax_rate: 0 }, (18_201..37_000) => { base_tax_amount: 0, tax_rate: 0.19 }, (37_001..80_000) => { base_
module Plutus
TAX_RATES = {
(0..18_200) => { base_tax_amount: 0, tax_rate: 0 },
(18_201..37_000) => { base_tax_amount: 0, tax_rate: 0.19 },
(37_001..80_000) => { base_tax_amount: 3_572, tax_rate: 0.325 },
(80_001..180_000) => { base_tax_amount: 17_547, tax_rate: 0.37 },
(180_001..Float::INFINITY) => { base_tax_amount: 54_547, tax_rate: 0.45 }
}.freeze
end
当值落在范围内时,它似乎能够访问数组项
e、 g.给定18000
,能够获得{base\u tax\u amount:0,tax\u rate:0}
javascript或nodejs中是否有任何等价物?不,没有该接口。
您必须重新计算索引或使用:
const TaxRates=新代理({}{
获得(目标、道具){
开关(真){
案例属性<18200:返回{基本税额:0,税率:0};
案例属性<37000:返回{基本税额:0,税率:0.19};
案例属性<80000:返回{基本税额:3572,税率:0.325};
案例属性<180000:返回{基本税额:17547,税率:0.37};
默认值:返回{base_tax_amount:54547,tax_rate:0.45};
}
}
});
console.log([
税率[18000],
税率[35000],
税率[55000],
税率[550000],
]);代码>可以将数组作为上界,将对象作为第二个元素。然后,您需要一个对象的find函数
var税率=[
[18200,{基本税额:0,税率:0}],
[37000,{基本税额:0,税率:0.19}],
[80000,{基本税额:3572,税率:0.325}],
[180000,{基本税额:17547,税率:0.37}],
[Infinity,{基本税额:54547,税率:0.45}]
],
getTexRate=value=>TAX_RATES.find([v])=>value不,根本没有。