2016-05-25 11 views
-1

こんにちは私はオブジェクトから値をとって合計を見つけようとしています。私は現在、三つの値やプロパティのオブジェクトを持っていると番号を利用したいと思いますし、それらを追加したいと思いますし、それらに[Typescript]オブジェクトの値を取得し、それを配列に追加する

public selectedItem = {name:" "}; // Separate Object that displays values. Dont want to display it just add the value 

public shoppingListItems = [ 
     {name: "Milk" ,number: 100}, 
     {name: "Sugar", number: 22,}, 
     {name: "bread", number: 12} 
    ]; 

public Price = []; 

this.Price.push(shoppingListItem.keys(this.selectedItem)); // Attempt to push my shopping list items onto the Price Array 
    console.log(this.Price); // Check is the values are actually stored. 

を格納し、私は次の作業を実行して、別の配列を作成し、そこに値を格納しようとしてきました私の数値の値を配列にプッシュすることができるようにするが、そうではないようだ。私のオブジェクトから値を取り出し、それらを私の配列に追加して、それらを保存し、後でそれらを追加する方法がありますか?

答えて

0

mapを参照して、元の配列のオブジェクトのプロパティの値を含む新しい配列を作成し、それらの合計を得るreduceを作成します。

ここでは、あなたのシナリオに適用できるという単純な例です:

var shoppingListItems = [ 
    {name: "Milk", number: 100}, 
    {name: "Sugar", number: 22}, 
    {name: "bread", number: 12} 
]; 

// creates an array of the `number` property: [100, 22, 12] 
var numbers = shoppingListItems.map(i => i.number); 
// gets the sum of the array of numbers: 134 
var sum = numbers.reduce((a, b) => a + b, 0); 
関連する問題