我试图解决的更大问题是,鉴于此数据:
var data = [
{ id: 1 },
{ id: 2 },
{ id: 3 },
{ id: 4, children: [
{ id: 6 },
{ id: 7, children: [
{id: 8 },
{id: 9 }
]}
]},
{ id: 5 }
]
Run Code Online (Sandbox Code Playgroud)
我想创建一个findById(data, id)返回的函数{ id: id }.例如,findById(data, 8)应该返回{ id: 8 },并findById(data, 4)应该返回{ id: 4, children: [...] }.
为了实现这一点,我使用Array.prototype.find递归方式,但在return将对象混合在一起时遇到了麻烦.我的实现返回特定对象的路径.
例如,当我用findById(data, …
继承我的方法:
def geometricSum(commonRatio, firstTerm, lastTerm):
return ((firstTerm - lastTerm) * commonRatio) / (1 - commonRatio)
Run Code Online (Sandbox Code Playgroud)
口译员测试:
>>> geometricSum(1.0,1.0,100.0)
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
File "F:\PortablePython_1.1_py3.0.1\sumOfGeometric.py", line 2, in geometricSum
return ((firstTerm-lastTerm)*commonRatio)/(1-commonRatio)
ZeroDivisionError: float division
Run Code Online (Sandbox Code Playgroud)