JavaScriptを使用した配列内のネストされたオブジェクト値の合計
以下は、JavaScriptを使用して配列内のネストされたオブジェクト値を合計するコードです-
例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } .result { font-size: 18px; font-weight: 500; color: rebeccapurple; } </style> </head> <body> <h1>Sum of nested object values in Array</h1> <div class="result"></div> <button class="Btn">CLICK HERE</button> <h3> Click on the above button to sum the nested object values of json array </h3> <script> let json = { storeData: [ { items: [ { itemID: 12, cost: { costNum: 100, }, }, { itemID: 22, cost: { costNum: 250, }, }, { itemID: 19, cost: { costNum: 350, }, }, ], }, ], }; let resEle = document.querySelector(".result"); document.querySelector(".Btn").addEventListener("click", () => { let sum = 0; json.storeData.map((ele) => ({ itemPrice: ele.items.forEach((item) => { sum += item.cost.costNum; }), })); resEle.innerHTML += "Total CostNum = " + sum + "<br>"; }); </script> </body> </html>
出力
上記のコードは次の出力を生成します-
[ここをクリック]ボタンをクリックすると-
-
JavaScriptのObject.freeze()を使用して、ネストされたオブジェクトを不変にすることは可能ですか?
Object.freeze() メソッドはオブジェクトを不変にすることができます ただし、ネストされたオブジェクトの場合 、可変性を防ぐことはできません 。 Object.freeze() 不変性のみを提供できます 外側の親オブジェクトに対しては、内側の子(ネストされた)オブジェクトにアクセスできません。 例 次の例では、ネストされたオブジェクトはありません。 Object.freeze() メソッドはフリーズを試みます オブジェクト全体。したがって、オブジェクトをフリーズした後でも、プロパティ「name」に変更はありません。 <html> <body> &nbs
-
JavaScript array.values()
JavaScriptのarray.values()は、指定された配列のすべての値を含むイテレータオブジェクトを返します。 以下は、array.values()関数のコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />