-1

所以我正在使用 Formio 构建一些内容,它能够为下拉选项添加自定义 JSON 内容。

这是我的 JSON:

[
 {
"MBB": [
  {
    "Name": "BYO Sim"
  },
  {
    "Name": "Device Sim"
  },
  {
    "Name": "Apple Watch"
  },
  {
    "Name": "Samsung Watch"
  }
],
"WB": [
  {
    "Name": "4G with Device"
  },
  {
    "Name": "4G without Device"
  },
  {
    "Name": "5G"
  }
]
}
]

我想要做的是显示 MBB:Name 下的所有值

我发现当我输入以下内容时,我得到了返回值“Device Sim”,但我想返回 MBB 和 Name 下的所有值,因为我很快会添加更多选项,而不仅仅是 Name。

item.MBB[1].Name

如果我这样做:

 item.MBB.Name

我只是得到一个未定义的结果,所以我有点迷茫。

任何帮助,将不胜感激!

4

3 回答 3

0

您需要一个函数来Name从对象数组中提取一个数组,每个对象都包含自己的Name.

item.MBB.map(obj => obj.Name)

于 2020-10-27T07:09:37.900 回答
0

您可以删除第一个数组:

 {
"MBB": [
  {
    "Name": "BYO Sim"
  },
  {
    "Name": "Device Sim"
  },
  {
    "Name": "Apple Watch"
  },
  {
    "Name": "Samsung Watch"
  }
],
"WB": [
  {
    "Name": "4G with Device"
  },
  {
    "Name": "4G without Device"
  },
  {
    "Name": "5G"
  }
]
}
于 2020-10-27T07:10:04.507 回答
0

迭代的使用map方法array

const data = 
  {
"MBB": [
  {
    "Name": "BYO Sim"
  },
  {
    "Name": "Device Sim"
  },
  {
    "Name": "Apple Watch"
  },
  {
    "Name": "Samsung Watch"
  }
],
"WB": [
  {
    "Name": "4G with Device"
  },
  {
    "Name": "4G without Device"
  },
  {
    "Name": "5G"
  }
]
}
;

const result = data['MBB'].map(({Name}) => Name);
console.log(result);

于 2020-10-27T07:14:43.903 回答