【发布时间】:2018-05-23 11:18:11
【问题描述】:
我正在使用 axios 获取 api 响应。
我正在发送按名称 http://localhost:8000/api/ingredients/ordering=name 排序的 api 响应
从我的服务器发送的实际对象如下。
{
2:{"id":2,"name":"anil"},
1:{"id":1,"name":"sant"},
3:{"id":3,"name":"vino"}
}
或将密钥作为字符串而不是整数传递
{
"2":{"id":2,"name":"anil"},
"1":{"id":1,"name":"sant"},
"3":{"id":3,"name":"vino"}
}
或键为字母数字
{
"a2":{"id":2,"name":"anil"},
"a1":{"id":1,"name":"sant"},
"a3":{"id":3,"name":"vino"}
}
axios 正在做的是对对象 w.r.t 键进行排序,并且名称未按排序顺序
{
1:{"id":1,"name":"sant"},
2:{"id":2,"name":"anil"},
3:{"id":3,"name":"vino"}
}
或者如果键是字母数字
{
a1:{"id":1,"name":"sant"},
a2:{"id":2,"name":"anil"},
a3:{"id":3,"name":"vino"}
}
如何阻止
我不想要数组格式的列表,因为我必须稍后根据 id 更新各个对象。这种表示很容易。我正在使用 reactjs 状态。
【问题讨论】:
-
JavaScript 对象没有排序。如果你想要对象按一定的顺序,使用数组。
标签: javascript ajax reactjs axios