为什么将映射运算符结果分配给数组?

问题描述

我担心的是这段代码

    export class ratingInputComponent {
      stars: boolean[] = Array(5).fill(false);
      get value(): number {
        return this.stars.reduce((total,starred) => {
          return total + (starred ? 1 : 0);
    },0);
  }
  rate(rating: number) {
    this.stars = this.stars.map((_,i) => rating > i);
  }

应该将map运算符返回一个observable,但是将结果分配给数组,而不应该将结果分配给observable 致谢

解决方法

您的问题是您混淆map():一个数组方法和map(),即RXJS方法。显然,您的一堆代码正在使用array方法。此处使用的减少方法也是如此。