更改JSON结构响应

时间:2019-07-08 06:24:56

标签: javascript arrays json return return-value

我使用以下代码为该项目创建了json响应:

this.parts = this.getParts().filter((item) => {
  return item.manufactureId === Number(manufactureId)
  });

它从我的这个json返回部分的ID:

[{id: 02020013, manufactureId: 0202, name: cable}]

我也尝试使用此代码,但不起作用:(“:

this.parts = this.getParts.filter(p => (p.id == manufactureId))[0].name;

我想要实现的是,响应将解析项目名称而不是part.id。

1 个答案:

答案 0 :(得分:0)

如注释中所述,您可以将最后一个代码位更改为

this.parts = this.getParts().filter(p => (p.manufactureId == manufactureId))[0].name;

您缺少括号来调用函数。并且您可能需要按manufactureId而不是id进行过滤。

同样,您可以在通过map过滤数据之后使用manufactureId函数。 map函数对每个数组元素应用函数并返回结果,在此示例中,它很容易从对象中获取name,因为manufactureId可能有一个以上(或没有)的项目。 / p>

this.parts = this.getParts().filter((item) => {
    return item.manufactureId === Number(manufactureId)
}).map((item) => item.name);