Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript或nodejs是否具有访问数组项的索引范围?_Javascript_Node.js - Fatal编程技术网

javascript或nodejs是否具有访问数组项的索引范围?

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_

我在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_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不,根本没有。