Javascript 对对象数组进行角度切片

Javascript 对对象数组进行角度切片,javascript,angular,multidimensional-array,angular5,Javascript,Angular,Multidimensional Array,Angular5,我试图通过从angular 5中的另一个对象数组中切片来获得一个对象数组。我通过服务从API后端获取所有产品。我将结果传递给数组类型的属性产品。我想从我得到的结果中检索一个部分。好吧,可能无法用文字很好地描述,所以让我删除代码 export class HomeComponent implements OnInit { discountedproducts: Products[]; latestproducts: Products[]; cheapestdeals: Products[]; r

我试图通过从angular 5中的另一个对象数组中切片来获得一个对象数组。我通过服务从API后端获取所有产品。我将结果传递给数组类型的属性产品。我想从我得到的结果中检索一个部分。好吧,可能无法用文字很好地描述,所以让我删除代码

export class HomeComponent implements OnInit {
discountedproducts: Products[];
latestproducts: Products[];
 cheapestdeals: Products[];
randomproducts: Products[];

constructor(private productservice: ProductService) {

}

ngOnInit() {
  this.productservice.getProductsBydiscount()
    .subscribe(res => this.discountedproducts = res);

    this.productservice.getProductsByNewest()
    .subscribe(res => this.latestproducts = res);

    this.productservice.getProductsByPrice()
    .subscribe(res => this.cheapestdeals = res);

    this.productservice.getProductsByRandom()
    .subscribe(res => this.randomproducts = res);
}

}
如果我做了类似的事情

let slicedarray = latestproducts.slice(0, 3); 

在构造函数中,当我尝试使用ngFor循环显示它时,它不会输出任何内容。我怎样才能做得更好

您应该在回调
.subscribe
时执行此操作,否则您需要将
最新产品
作为主题,然后订阅它

this.productservice.getProductsByNewest()
    .subscribe(res => {
      this.latestproducts = res;
      this.slicedArray = res.slice();
    }
);

然后在
slicedArray

构造函数