我正在将我的系统与第三方API集成。集成或多或少已完成,但我在解析响应的一部分时遇到了一些问题。作为回应,他们给我发了一个字符串,如下所示:
EXECUTED @ 9.1539(3.0) was PARTIALLY FILLED @ 9.1531(3.0)
EXECUTED @ 9.1539(3.0)
PARTIALLY FILLED @ 9.16(5.5)
现在,我需要解析这些响应以获得如下计算结果:
对于:EXECUTED @ 9.1539(3.0) was PARTIALLY FILLED @ 9.1531(3.5)
我需要计算(9.1539*3.0 + 9.1531*3.5)
对于:EXECUTED @ 9.1539(3.0)
我需要计算9.1539*3.0
对于:PARTIALLY FILLED @ 9.16(5.5)
我需要计算9.16*5.5
我会发布一些代码,但我无法弄清楚从哪里开始。一些帮助会被批评。
答案 0 :(得分:1)
当您知道如何使用String和match等split方法以及Array和map等reduce方法时,很容易他们在上面的链接中记录在MDN上
var strs = [
'EXECUTED @ 9.1539(3.0) was PARTIALLY FILLED @ 9.1531(3.0)',
'EXECUTED @ 9.1539(3.0)',
'PARTIALLY FILLED @ 9.16(5.5)'
]
console.log(strs.map(s=>s.match(/\s@\s([\d]+(\.[\d]+|))\(([\d+](\.[\d]+|))\)/g).reduce((a,b)=>a+b.split(/\s@\s/)[1].split(/\)/)[0].split(/\(/).map(Number).reduce((a,b)=>a*b),0)));

答案 1 :(得分:0)
建议的解决方案
{{1}}