【问题标题】:Distinct Unique Keys with JSON Server具有 JSON 服务器的不同唯一键
【发布时间】:2023-04-01 01:34:01
【问题描述】:

我正在使用来自 typicode 的 json-server,它可以工作,但是否可以将请求的键值作为数组获取?

例如我有

{
    "users": [
        {
            "name": "ABC",
            "job": "Engineer",
            "age" : 28
        },
        {
            "name": "XYZ",
            "job": "Product Manager",
            "age" : 32
        },
        {
            "name": "ASD",
            "job": "HR Manager",
            "age" : 325
        }
    ]
}

我想获得一系列工作

["Engineer", "Product Manager", "Human Resource"]

【问题讨论】:

  • 嗨,欢迎来到 SO!,在这里提出问题时,请分享代码以及您为解决我们的问题所做的一些尝试。此外,如果您尝试修复它,请将它们编辑到您的问题中。干杯!

标签: javascript json-server


【解决方案1】:

let obj = {
    "users": [
        {
            "name": "ABC",
            "job": "Engineer",
            "age" : 28
        },
        {
            "name": "XYZ",
            "job": "Product Manager",
            "age" : 32
        },
        {
            "name": "ASD",
            "job": "HR Manager",
            "age" : 325
        }
    ]
}

console.log([...new Set(obj.users.map(user => user.job))]);

【讨论】:

    【解决方案2】:

    我认为你可以使用地图。

    const data = {
        "users": [
            {
                "name": "ABC",
                "job": "Engineer",
                "age" : 28
            },
            {
                "name": "XYZ",
                "job": "Product Manager",
                "age" : 32
            },
            {
                "name": "ASD",
                "job": "HR Manager",
                "age" : 325
            }
        ]
    }
    
    display.log(data.users.map((it) => it.job))```
    

    【讨论】:

      【解决方案3】:

      您可以使用map() 循环访问用户并使用作业创建一个新数组:

      let obj = {
          "users": [
              {
                  "name": "ABC",
                  "job": "Engineer",
                  "age" : 28
              },
              {
                  "name": "XYZ",
                  "job": "Product Manager",
                  "age" : 32
              },
              {
                  "name": "ASD",
                  "job": "HR Manager",
                  "age" : 325
              }
          ]
      }
      
      let arr = obj.users.map(user => user.job);
      
      console.log(arr);

      【讨论】:

      • 当我的客户端中有所有数据时,此方法有效。我将对数据进行分页,如果我想从服务器而不是在浏览器中过滤,我该怎么办。
      • 我不太明白你在问什么。你不能只在 Node.js 中做这个(因为你用 Node.js 标记了这个问题)?
      猜你喜欢
      • 2019-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-11
      • 2019-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多