各reduce操作のインタラクション数をカウントします。
P粉191323236
P粉191323236 2023-08-14 17:21:30
0
1
489
<p>次のようなオブジェクトのリストがあります。</p> <pre class="brush:php;toolbar:false;">const useCosts = { 224910186407: { デバイスID: "224910186407", 通貨: "GBP"、 年間使用量: 1480.81 }、 224910464538: { デバイスID: "224910464538", 通貨: "GBP"、 年間使用量: 617.36 }、 224910464577: { デバイスID: "224910464577", 通貨: "ユーロ"、 年間使用量: 522.3 } }</pre> <p>次のように通貨ごとに合計を計算します: </p> <pre class="brush:php;toolbar:false;">const totalyearlyCost = Object.values(usageCosts).reduce( (acc: { [key: string]: any }, stat: any) => { if (stat.currency && !acc[stat.currency]) { acc[統計通貨] = 0 } 戻る { ...はい、 [stat.currency!]: acc[stat.currency!] stat.yearlyUsage, } }、 {}、 )</pre> <p>次のようにオブジェクトを返します。</p> <pre class="brush:php;toolbar:false;">{ ユーロ: 522.3 英国ポンド: 2,098.17 }</pre> <p>次のような、通貨ごとのデバイスの合計数も返したいと考えています。 <pre class="brush:php;toolbar:false;">{ ユーロ: 522.3 (1 デバイス) 英国ポンド: 2,098.17 (デバイス 2 台) }</pre> <p>別のループを追加しようとしましたが、結果は期待どおりではありませんでした。 </p>
P粉191323236
P粉191323236

全員に返信(1)
P粉481815897

このミッションは 2 つのパートに分けると簡単になります。

まず、これをグループ化された値を含む配列に縮小します。

次に、オブジェクトをループ処理し (reduce を使用することもできます)、

配列の合計を取得します。 文字列に ${array.length} devices を追加します。

リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート