D3チュートリアルは、ランダムシーケンスを生成する関数を提供します。
var t = 1297110663, // start time (seconds since epoch)
v = 70, // start value (subscribers)
data = d3.range(33).map(next); // starting dataset
function next() {
return {
time: ++t,
value: v = ~~Math.max(10, Math.min(90, v + 10 * (Math.random() - .5)))
};
}
次の~~(tilda tilda)に注意してください。
value: v = ~~Math.max(10, Math.min(90, v + 10 * (Math.random() - .5)))
javascriptターミナルで遊んでみると、次のようになります。
~~1
1
~~-1
-1
~~-1.3
-1
parseInt(5)
5
parseInt(-5)
-5
parseInt(-5.3)
-5
parseInt(5.3)
5
~~とparseIntは同等のように見えるので、parseIntを使用する理由は何ですか?