背景: 私はJavaScriptコードを変換しようとしていますクロスフィルター図書館D3.jsデータ視覚化ライブラリコーヒースクリプト。
JavaScript の forEach ループ/関数を CoffeeScript に変換する最適な方法は何ですか?
JavaScript コードは次のとおりです。
// A little coercion, since the CSV is untyped.
flights.forEach(function(d, i) {
d.index = i;
d.date = parseDate(d.date);
d.delay = +d.delay;
d.distance = +d.distance;
});
CoffeeScript はループ内でインライン関数を実行できますか? 現時点では、関数とループに分割する必要があると思います。
coerce = (d) ->
d.index = 1
d.date = parseDate(d.date)
d.delay = +d.delay
d.distance = +d.distance
coerce(flights) for d in flights
ベストアンサー1
使う理解
for d, i in flights
console.log d, i
上記のコードは次のように翻訳されます
var d, i, _i, _len;
for (i = _i = 0, _len = flights.length; _i < _len; i = ++_i) {
d = flights[i];
console.log(d, i);
}
そうすれば、あなたが望むものが見えd
、i
実現できるようになります。
ここへいくつかの例については、「forEach」を検索してください。
最後に、さらに役立つ情報については最初のコメントをご覧ください。