【发布时间】:2020-11-25 21:00:57
【问题描述】:
请帮助了解如何在 JavaScript 上实现。我有数据类型。这种排序的目的是我有对象列,其中列没有按要求排列。下面这个函数以简单的排列数组列为例。我已经在本地机器上测试了这段代码,这是我得到的输出。
<?php
$data = '[
{
"from": "Barcelona",
"to": "New York",
"instruction": "",
"time": "2018-02-02 20:05",
"transport": "Flight",
"transportno": "B33",
"seatno": "Y15"
},
{
"from": "Barcelona",
"to": "Gerona",
"instruction": "",
"time": "2018-02-02 20:05",
"transport": "Bus",
"transportno": "M31, M32, M33",
"seatno": "Any"
},
{
"from": "Madrid",
"to": "Barcelona",
"instruction": "",
"time": "2018-02-02 20:05",
"transport": "Bus",
"transportno": "M31, M32, M33",
"seatno": "Any"
},
{
"from": "New York",
"to": "Stockholm",
"instruction": "",
"time": "2018-02-02 20:05",
"transport": "Flight",
"transportno": "M31, M32, M33",
"seatno": "Any"
},
{
"from": "Gerona",
"to": "Barcelona",
"instruction": "",
"time": "2018-02-02 20:05",
"transport": "Bus",
"transportno": "M31, M32, M33",
"seatno": "Any"
}
]';
现在我需要以这种方式排序的数据 然后从马德里飞往巴塞罗那 巴塞罗那到赫罗纳 - 赫罗纳到巴塞罗那 - 巴塞罗那到纽约—— 纽约到斯德哥尔摩 -
$data_decode = json_decode($data, true);
usort($data_decode, function ($a, $b) {
return $a['to'] === $b['from'] ? 0 : 1;
});
print_r($data_decode);
输出
数组 ( [0] => 数组 ( [来自] => 马德里 [到] => 巴塞罗那 [说明] => [时间] => 2018-02-02 20:05 [交通] => 巴士 [运输号] => M31、M32、M33 [座位号] => 任何 )
[1] => Array
(
[from] => Barcelona
[to] => Gerona
[instruction] =>
[time] => 2018-02-02 20:05
[transport] => Bus
[transportno] => M31, M32, M33
[seatno] => Any
)
[2] => Array
(
[from] => Gerona
[to] => Barcelona
[instruction] =>
[time] => 2018-02-02 20:05
[transport] => Bus
[transportno] => M31, M32, M33
[seatno] => Any
)
[3] => Array
(
[from] => Barcelona
[to] => New York
[instruction] =>
[time] => 2018-02-02 20:05
[transport] => Flight
[transportno] => B33
[seatno] => Y15
)
[4] => Array
(
[from] => New York
[to] => Stockholm
[instruction] =>
[time] => 2018-02-02 20:05
[transport] => Flight
[transportno] => M31, M32, M33
[seatno] => Any
)
) 【0.1s完成】
如何在 JavaScript 中获得此结果。您的帮助将不胜感激。
【问题讨论】:
-
我认为您正在尝试按键对对象数组进行排序,请查看:stackoverflow.com/questions/8837454/…
-
我完全按照您没有的方式尝试了它没有给出预期的结果。请检查 php usort 代码的上述输出。因为它应该像巴塞罗那到赫罗纳 - 赫罗纳到巴塞罗那 - 巴塞罗那到纽约 - 纽约到斯德哥尔摩这样的链接 - 正是出于这个原因提供了数据,但是每个机场都相互连接,您可以检查 php 输出
标签: javascript php arrays json sorting