【问题标题】:Typescript , get a specific property of response dataTypescript,获取响应数据的特定属性
【发布时间】:2021-04-20 05:32:21
【问题描述】:

以下是我的回复数据格式。

在 Typescript 中:如何获取响应数据的“ResultList”数组中的第一项“_Name”值?

使用 this.responseData$.subscribe(val => console.log(val)); 我可以在浏览器中看到响应数据



ResultList: Array(1)
0: {
_CodeID: "112344", 
_Name: "ABCGDJFJFJF", // Want to get this property value
 _IsADV: false
}
length: 1
__proto__: Array(0)
_Acknowledge: 2
_Bild: "5256"
_CId: "641645DF-E5E5-481A-B8E7-94FE2DRFFFFF"
_MachineName: "*******"
_Message: ""
_ReservationExpires: ""
_RId: ""
_RowsAffected: 0
_Version: "1.0"

【问题讨论】:

  • “如何获得”是什么意思?
  • 我不确定语法,所以我想获取第一项的“_Name”属性的值,它位于响应数据的“ResultList”数组中
  • 如果valResultList,那么 val[0]._Name ?
  • val 也有 resultList 和其他数据,不仅仅是 ResultList
  • 那么val.ResultList[0]._Name.

标签: javascript arrays typescript rxjs


【解决方案1】:

这取决于你以后打算如何使用这个变量的上下文,但一种选择是在订阅块中提取它:

this.responseData$.subscribe(val => {
  const whatIsNeeded = val.ResultList[0]._Name;
  // do somehting with variable whatIsNeeded
}); 

另一种是将其通过管道传输到另一个可观察对象。

const whatIsNeededObservable: Observable<string> = this.responseData$.pipe(map(val => val.ResultList[0]._Name));

有关管道和映射的更多信息可以在这里找到:https://www.learnrxjs.io/learn-rxjs/operators/transformation/map

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-09
    • 2021-10-06
    • 2017-07-14
    • 2018-05-21
    • 2022-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多