[Typescript]获取对象值并将其添加到数组中

时间:2016-05-25 20:03:47

标签: javascript arrays object 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.

我试图创建一个单独的数组,并通过执行以下操作将值存储在那里,以便我可以将我的数字值推送到我的数组,但它似乎没有这样做。是否有办法从我的对象中取出值并将它们添加到我的数组中,以便我可以存储它们并可能在以后添加它们?

1 个答案:

答案 0 :(得分:1)

使用map查找以创建一个新数组,其中包含原始数组中对象属性的值,并reduce获取这些数字的总和。

这是一个可以应用于您的场景的简单示例:

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

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