私はそれが醜いと思う以外の理由でインデックス配列を使用して好きではありません。無名関数との総和はきれいな方法ですか?それは外部変数を使用せずに行うことが可能ですか?Dartのコレクション/リスト内の数字の合計を取得する最もクリーンな方法は何ですか?
10
A
答えて
11
ダートイテラブルは今では、機能(https://code.google.com/p/dart/issues/detail?id=1649)を低減していあなた自身の折り畳み機能を定義せずに和を惜しみなくすることができます:
var sum = [1, 2, 3].reduce((a, b) => a + b);
4
彼らは今ですが、あなたがあなた自身のfoldLeftを転がした場合、私はの追加についてダートチームに話を聞いた
main() {
var sum = foldLeft([1,2,3], 0, (val, entry) => val + entry);
print(sum);
}
Dynamic foldLeft(Collection collection, Dynamic val, func) {
collection.forEach((entry) => val = func(val, entry));
return val;
}
があるとして、コアライブラリを使用してそれを行うにはきれいな方法はありませんfoldLeftをコアコレクションに追加しました。
4
私はまだ明らかなやり方は、この特定の問題についてより明確で理解しやすいと思っています。
num sum = 0;
[1, 2, 3].forEach((num e){sum += e;});
print(sum);
または
num sum = 0;
for (num e in [1,2,3]) {
sum += e;
}
3
int sum = [1, 2, 3].fold(0, (previous, current) => previous + current);
またはそれより少ない部屋を取るようにする短い変数名を持つ:
int sum = [1, 2, 3].fold(0, (p, c) => p + c);
関連する問題
- 1. 文字列内の数値のリストを取得する最もクリーンな方法
- 2. オブジェクトの属性を取得する最もクリーンな方法は何ですか?
- 3. シェルフ内のデータを削除する最もクリーンな方法は何ですか?
- 4. SQL Serverのコード行(LOC)の合計数を取得する最も簡単な方法は何ですか?
- 5. サブセットの合計数とカウントを取得する最も簡単な方法は?
- 6. モジュール間でアプリケーションリソースのリストを取得する最もクリーンな方法は何ですか?
- 7. .NETで現在の合計CPU負荷を取得する最も簡単な方法は何ですか?
- 8. JSFでjava.util.Calendarオブジェクトを表示する最もクリーンな方法は何ですか?
- 9. Javascriptで数字の記号を取得する最も簡単な方法は何ですか?
- 10. javascriptでnon-blocking forループを書く最もクリーンな方法は何ですか?
- 11. リリースビルドの環境変数DYLD_FRAMEWORK_PATHを設定する最もクリーンな方法は何ですか?
- 12. NumPyで乱数を取得する最も良い方法は何ですか?
- 13. 何千ものmongodb文書内で計算を行う最も効率的な方法は何ですか?
- 14. パンダのデータフレームをフィルタリングする最もクリーンな方法は?
- 15. Ruby on RailsとAngularJSを統合する最もクリーンな方法は何ですか?
- 16. Javaオブジェクト内のアイテムのサブセットを取得する最も効率的な方法は何ですか?
- 17. 子オブジェクトの合計計算を実行する最も簡単な方法は何ですか?
- 18. 文字列または文字配列のインデックスを取得する最も良い方法は何ですか?
- 19. WordPressの順番で合計得点と最も近い数字
- 20. FacebookのFacebookデータ(カウント、コメント数、共有数など)を取得する最も良い方法は何ですか? #Facebookは(数、コメント数、シェア数...のような)URLのデータを取得取得するための最良の方法は何
- 21. Aqueductサーバーと既存のクライアントベースのDart Webアプリケーションを統合する最適な方法は何ですか?
- 22. (Oracle)ループ内の合計値を取得する方法は?
- 23. サブデータフレームを取得する最も簡単な方法は何ですか?
- 24. 数字の最後の数字を取得する方法
- 25. Dartの単体テストを作成する最良の方法は何ですか?
- 26. 最初のx文字を取得する最も簡単な方法は?
- 27. クライアントアプリケーションのメールを取得する最も良い方法は何ですか?
- 28. 時刻を取得する最もAndroidの方法は何ですか?
- 29. ServiceStackからのフォーム認証を利用する最もクリーンな方法は何ですか?
- 30. formtastic submitボタンのスタイリングを設定する最もクリーンな方法
これは、Rubyのようにコレクションインターフェイスに注入関数を追加することで対処できます。 –
それはそこの非常にきれいなコードです。私が探していただけでなく、折りたたみを理解するようになりました。 –
上記のfoldLeftのコードをインライン化するだけで、ライブラリコードの有無にかかわらず、無名関数を使って確かに行うことができます。また、あなたは再帰であまりにも巧妙でない限り、ほとんど常に変数が必要になります。代わりにforEachではなくfor(var each in ...)を使ってそれを行い、forループの本体に関数を適用することもできます。いずれも動作します。 –