角度图。它是什么?

时间:2018-12-13 10:25:14

标签: angular dictionary filter

我正在学习Angular 6,并且对诸如这样的构造感到困惑:

this.contentArray.map((v: string, i: number) => `Content line ${i + 1}`)

或类似:

return this.aService.getItems()
    .pipe(map(response => response.data));

我像《 The_Complete_Book_on_Angular_6》或《 Pro Angular 6》(亚当·弗里曼)(Adam Freeman)一样读这几本书,但那里没有简单的解释。 Google也对此保持沉默。 有人能给出正确和良好的教程吗?或者(对于业余爱好者)可能是关于 array.map,array.filter .pipe(map(...))的书?

2 个答案:

答案 0 :(得分:4)

第一个是Array.prototype.map,而第二个是rxjs map运算符。

在第一种情况下,您采用现有数组并将函数应用于其每个元素

  

map()方法使用调用a的结果创建一个新数组   在调用数组中的每个元素上提供了功能。

[1, 2, 3, 4].map(x => x + 2) // [3, 4, 5, 6]

第二种情况在可观察性领域本质上是相同的。

  

将给定的项目函数应用于源发出的每个值   可观察的,并将结果值作为可观察的发出。

答案 1 :(得分:2)

在您的第一句话中, Map是JavaScript数组函数,它遍历数组的每个项目,以将对象数组映射到另一个对象数组。

let array = [1,2,3,4,5] ;
let result = array.map(val => val +10); //11,12,13,14,15

在第二条语句中,映射来自rxjs库。这会将一个或多个对象映射到另一个对象,但是生成的对象将是可观察到的。

const source = from([1, 2, 3, 4, 5]); //add 10 to each value const example = source.pipe(map(val => val + 10)); //output: 11,12,13,14,15