【发布时间】:2021-11-18 00:59:11
【问题描述】:
我有这个 Java 代码,我想重写为 JavaScript:
package example;
import java.util.List;
public class Tain {
public static void main(String[] args) {
}
private class PriceData {
private double volume;
private double price;
public double getVolume() {
return volume;
}
public void setVolume(double volume) {
this.volume = volume;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
}
private double calculateBaseValueVwap(List<PriceData> side, double positionStep) {
double cumSum = 0d;
double totalVolume = 0d;
double amountLeft = positionStep;
for(PriceData level : side) {
if(totalVolume >= positionStep || amountLeft <= 0) {
break;
}
double amountForPriceLevel = 0d;
if(amountLeft > level.getVolume()) {
amountForPriceLevel = level.getVolume();
cumSum += level.getPrice() * level.getVolume();
totalVolume += level.getVolume();
}
else {
amountForPriceLevel = level.getVolume() - amountLeft;
cumSum += level.getPrice() * amountForPriceLevel;
totalVolume += amountForPriceLevel;
}
amountLeft -= amountForPriceLevel;
}
return cumSum / totalVolume;
}
}
我试过了:
class Tain
{
static
main(args)
{}
class PriceData
{
#volume = 0.0;
#price = 0.0;
getVolume()
{
return this.#volume;
}
setVolume(volume)
{
this.volume = volume;
}
getPrice()
{
return this.#price;
}
setPrice(price)
{
this.price = price;
}
}
calculateBaseValueVwap(side, positionStep)
{
var cumSum = 0.0;
var totalVolume = 0.0;
var amountLeft = positionStep;
for (const level of side)
{
if (totalVolume >= positionStep || amountLeft <= 0)
{
break;
}
var amountForPriceLevel = 0.0;
if (amountLeft > level.getVolume())
{
amountForPriceLevel = level.getVolume();
cumSum += level.getPrice() * level.getVolume();
totalVolume += level.getVolume();
}
else
{
amountForPriceLevel = level.getVolume() - amountLeft;
cumSum += level.getPrice() * amountForPriceLevel;
totalVolume += amountForPriceLevel;
}
amountLeft -= amountForPriceLevel;
}
return cumSum / totalVolume;
}
}
Tain.main([]);
我不清楚如何重写 Java 对象 PriceData 并将其作为 JavaScript 列表发送。你能指导我在 JavaScript 中实现这个的正确方法是什么?
【问题讨论】:
标签: javascript java