我试图从Observable代码中获得一些想法,以构建一个模拟掉落球行为的图形。
我希望Observable与Javascript D3共享相同的语法,但是, 实际上我意识到它使用了不同的,自己的语法,有点类似于JS。
是什么 返回x => {.....继续...}是什么意思?
Observable的实际代码如下。
return x => {
const l = bisect.left(circles, x - radius);
const r = bisect.right(circles, x + radius, l);
let y = 0;
for (let i = l; i < r; ++i) {
const {x: xi, y: yi} = circles[i];
const x2 = (xi - x) ** 2;
const y2 = (yi - y) ** 2;
if (radius2 > x2 + y2) {
y = yi + Math.sqrt(radius2 - x2) + 1e-6;
i = l - 1;
continue;
}
}
circles.splice(bisect.left(circles, x, l, r), 0, {x, y});
return y;
};
我还想知道以下代码中的“重放”,“继续”和“收益”是什么。 我希望在Javascript中实现代码...