首页 > 解决方案 > 为什么我通常会在“容器”数据类型中看到数据,例如对象内部的对象和对象内部的数组?

问题描述

我几乎没有实际的编程经验,但是当我深入研究实际编码人员的数据时,我经常遇到这样的事情,我不明白为什么......

(来自我这个周末在 javascript 中工作的小曲)

{
  "data": [
    {
      "name": "foo",
      "id": 0
    },
    {
      "name": "bar",
      "id": 1
    },
    {
      "name": "baz",
      "id": 2
    },
  ]
};

这是一个具有单个键:值的对象,其中键是“数据”,值是一个数组,数组是一个对象列表,其中每个对象是一个名称和一个 ID。

在我看来,这里至少有一个额外的抽象层。为什么不只有对象数组?为什么外部对象只有一个元素?我认为这一定是有充分理由的,但似乎它只是让访问其中的数据变得更加困难。

标签: javascriptarraysdata-structures

解决方案


GET /users假设您的一个编码人员实现了返回一组用户的端点

[
  { id: 0, name: 'foo' },
  { id: 1, name: 'bar' },
  { id: 2, name: 'baz' },
] // <- the response body of GET /users

这在一段时间内是好的。然后,您的用户群开始变大,并且您意识到必须开始对端点进行分页limitoffset避免客户端过载。你将如何跟踪最后一个offset

您通常会找到类似于示例中的响应有效负载以允许这样做:

{
  "data": [
    {
      "name": "foo",
      "id": 0
    },
    {
      "name": "bar",
      "id": 1
    },
    {
      "name": "baz",
      "id": 2
    },
  ],
  offset: 200
};

然后,您可以毫无顾虑地扩展您的用户群。


推荐阅读