鉴于我有这个杰森:

{
  "REGIÃO": "BH CENTRO NORTE HPF",
  "TIPO DE VERBA": "VISIBILIDADE",
  "VALOR PLANEJADO": "R$1,452.00",
  "VALOR APURADO": "R$0.00",
  "SALDO FINAL": "R$1,452.00"
},
{
  "REGIÃO": "BH KEY ACCOUNT HPF",
  "TIPO DE VERBA": "OFERTA FÍSICA",
  "VALOR PLANEJADO": "R$54.74",
  "VALOR APURADO": "R$0.00",
  "SALDO FINAL": "R$54.74"
},
{
  "REGIÃO": "BH KEY ACCOUNT HPF",
  "TIPO DE VERBA": "REBAIXA DE PREÇO OFF",
  "VALOR PLANEJADO": "R$57,456.88",
  "VALOR APURADO": "R$0.00",
  "SALDO FINAL": "R$57,456.88"
},
{
  "REGIÃO": "BH KEY ACCOUNT HPF",
  "TIPO DE VERBA": "VISIBILIDADE",
  "VALOR PLANEJADO": "R$563,651.25",
  "VALOR APURADO": "R$0.00",
  "SALDO FINAL": "R$563,651.25"
}


我想获取键"REGIÃO"的一组值,因此对于此示例,我将得到以下信息:

[BH CENTRO NORTE HPF, BH KEY ACCOUNT HPF]

我如何使用foreach并将值推入数组然后删除重复项来做到这一点?

最佳答案

假设这些对象包含在数组中,则可以执行以下操作:



const data = [{
  "REGIÃO": "BH CENTRO NORTE HPF",
  "TIPO DE VERBA": "VISIBILIDADE",
  "VALOR PLANEJADO": "R$1,452.00",
  "VALOR APURADO": "R$0.00",
  "SALDO FINAL": "R$1,452.00"
},
{
  "REGIÃO": "BH KEY ACCOUNT HPF",
  "TIPO DE VERBA": "OFERTA FÍSICA",
  "VALOR PLANEJADO": "R$54.74",
  "VALOR APURADO": "R$0.00",
  "SALDO FINAL": "R$54.74"
},
{
  "REGIÃO": "BH KEY ACCOUNT HPF",
  "TIPO DE VERBA": "REBAIXA DE PREÇO OFF",
  "VALOR PLANEJADO": "R$57,456.88",
  "VALOR APURADO": "R$0.00",
  "SALDO FINAL": "R$57,456.88"
},
{
  "REGIÃO": "BH KEY ACCOUNT HPF",
  "TIPO DE VERBA": "VISIBILIDADE",
  "VALOR PLANEJADO": "R$563,651.25",
  "VALOR APURADO": "R$0.00",
  "SALDO FINAL": "R$563,651.25"
}]

const newData = data.map(obj => obj["REGIÃO"]).filter((v, i, self) => i == self.indexOf(v))

console.log(newData)





map仅从每个对象中选择REGIÃO键的值,并将它们放入and数组中。以下过滤器通过检查元素的索引是否与其第一次出现的索引相同来删除重复项。如果它们不相等,则将其从数组中删除。

关于javascript - 获取给定键json javascript的值设置列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44592038/

10-14 13:43
查看更多