如何使用javascript获取数组中的特定键值

如何使用javascript获取数组中的特定键值,javascript,typescript,Javascript,Typescript,试图从嵌套数组对象获取特定键值,但不起作用。在我的代码中,嵌套数组试图获取父键值并推送到新数组。如何获取 演示: app.component.ts: this.getReport$.forEach((element,index)=>{ this.arr.push(element.ordered); }); this.arr.forEach((element,index)=>{ this.

试图从嵌套数组对象获取特定键值,但不起作用。在我的代码中,嵌套数组试图获取父键值并推送到新数组。如何获取

演示:

app.component.ts:

      this.getReport$.forEach((element,index)=>{
              this.arr.push(element.ordered); 
      });

      this.arr.forEach((element,index)=>{ 
              this.parents.push(element[index].parent); 
      });

      console.log(this.parents);

你必须用concat代替push


您还可以共享输入数组和预期的最终结果数组吗?是否要将
对象
键值提取到新数组中?这里您需要什么?你的问题不清楚。看茶叶是重复的。来了两次。那么你能加上茶叶的数量和总数吗?示例茶叶的总数量=8 bcoz(4+3)相同茶叶的销售总量=1500 bcoz(1250+250)可能吗?我正在等待您的回复。我根据您的要求编写了一些注释代码,将其替换为您的Ngoninith。如何显示所有总量?
      this.arr.forEach((element,index)=>{ 
             // this.parents.push(element[index].parent); 
 this.parents= this.parents.concat(element)
      });

      console.log(this.parents);


   //  ngOnInit() {
  //   let me=this
  //   this.getReport$.forEach((element, index) => {
  //     this.arr.push(element.ordered);
  //   });
  //   let dataPrepare = [];
  //   this.arr.forEach((element, index) => {
  //     debugger
  //     this.getReport$[index].date;
  //     element.forEach((element2, index2) => {  
  //       debugger     
  //       element2.date= me.getReport$[index].date;
  //      // dataPrepare = dataPrepare.concat(element);
  //     });

  //     dataPrepare = dataPrepare.concat(element);
  //   });
  //   var objectTracker = new Map();
  //   let tempdataPrepare = dataPrepare.map((element, index) => {
  //     if (objectTracker.has(element.itemid)) {
  //       let tempEle = objectTracker.get(element.itemid);
  //       element.total = element.total + tempEle.total;
  //       element.qty = element.qty + tempEle.qty;
  //       this.totalSoldProduce = this.totalSoldProduce - tempEle.total;
  //       objectTracker.delete(element.itemid);
  //       objectTracker.set(element.itemid, element);
  //       this.totalSoldProduce = this.totalSoldProduce + element.total;
  //     } else {
  //       let id = element.itemid;
  //       objectTracker.set(element.itemid, element);
  //       this.totalSoldProduce = this.totalSoldProduce + element.total;
  //     }
  //   });
  //   this.parents = Array.from(objectTracker.values());
  //   console.log(this.parents);
  //   console.log(this.totalSoldProduce);
  // }