我使用以下'listproduct.ts'中的代码从JSON api获取数据
names = [];
this._listProduct.listProduct().subscribe(data => {
this.list = data;
console.log(data);
});
在console.log中,我按预期获取结果,附上图片供您参考:
我需要在names数组中获取data.NAME
,我该怎么做?
data.NAME
无效。
答案 0 :(得分:1)
从控制台开始,data
是一个数组(包含10个元素)。
当我们想要将一个数组转换为另一个相同大小的数组时,通过某种"映射"来转换为1对1,我们可以使用map()
函数。
将console.log(data);
替换为此行names = data.map( e => e.NAME );
检查它是否有效;)
函数map()
将函数作为其参数,其中一个用法是指定元素(此处为e
)以及它如何与您想要的结果相对应(我们想要{{ 1}}而不是整个对象e.NAME
)。
所以e
是e => e.NAME
的缩写形式,您可以根据将来的需要修改函数体。
此处提供更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map