如何在JavaScript中实现排序,如下面PHP中的示例所示
请就如何在JavaScript上实现这一点提供帮助。我有数据类型。这种排序的目的是我有一个对象列,其中的列不是按要求排列的。例如,下面的函数只是排列数组列。我已经在本地机器上测试了这段代码,这是我得到的输出如何在JavaScript中实现排序,如下面PHP中的示例所示,javascript,php,arrays,json,sorting,Javascript,Php,Arrays,Json,Sorting,请就如何在JavaScript上实现这一点提供帮助。我有数据类型。这种排序的目的是我有一个对象列,其中的列不是按要求排列的。例如,下面的函数只是排列数组列。我已经在本地机器上测试了这段代码,这是我得到的输出 <?php $data = '[ { "from": "Barcelona", "to": "New York", "instruction": "
<?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"
}
]';
输出
排列
(
[0]=>阵列
(
[来自]=>马德里
[致]=>巴塞罗那
[说明]=>
[时间]=>2018-02-02 20:05
[传输]=>总线
[transportno]=>M31、M32、M33
[seatno]=>任何
)
)
[在0.1s内完成]
如何在JavaScript中获得此结果。感谢您的帮助。在javascript中,请参阅
var数据=[
{
“发件人”:“巴塞罗那”,
“致”:“纽约”,
“指示”:“,
“时间”:“2018-02-02 20:05”,
“运输”:“飞行”,
“运输编号”:“B33”,
“seatno”:“Y15”
},
{
“发件人”:“巴塞罗那”,
“致”:“Gerona”,
“指示”:“,
“时间”:“2018-02-02 20:05”,
“交通”:“公共汽车”,
“运输编号”:“M31、M32、M33”,
“seatno”:“任何”
},
{
“来自”:“马德里”,
“致”:“巴塞罗那”,
“指示”:“,
“时间”:“2018-02-02 20:05”,
“交通”:“公共汽车”,
“运输编号”:“M31、M32、M33”,
“seatno”:“任何”
},
{
“发件人”:“纽约”,
“致”:“斯德哥尔摩”,
“指示”:“,
“时间”:“2018-02-02 20:05”,
“运输”:“飞行”,
“运输编号”:“M31、M32、M33”,
“seatno”:“任何”
},
{
“from”:“Gerona”,
“致”:“巴塞罗那”,
“指示”:“,
“时间”:“2018-02-02 20:05”,
“交通”:“公共汽车”,
“运输编号”:“M31、M32、M33”,
“seatno”:“任何”
}
];
var sortedData=data.sort(函数(a,b){
返回a['到']==b['从']]?0:1;
} );
控制台日志(sortedData),请参见
var数据=[
{
“发件人”:“巴塞罗那”,
“致”:“纽约”,
“指示”:“,
“时间”:“2018-02-02 20:05”,
“运输”:“飞行”,
“运输编号”:“B33”,
“seatno”:“Y15”
},
{
“发件人”:“巴塞罗那”,
“致”:“Gerona”,
“指示”:“,
“时间”:“2018-02-02 20:05”,
“交通”:“公共汽车”,
“运输编号”:“M31、M32、M33”,
“seatno”:“任何”
},
{
“来自”:“马德里”,
“致”:“巴塞罗那”,
“指示”:“,
“时间”:“2018-02-02 20:05”,
“交通”:“公共汽车”,
“运输编号”:“M31、M32、M33”,
“seatno”:“任何”
},
{
“发件人”:“纽约”,
“致”:“斯德哥尔摩”,
“指示”:“,
“时间”:“2018-02-02 20:05”,
“运输”:“飞行”,
“运输编号”:“M31、M32、M33”,
“seatno”:“任何”
},
{
“from”:“Gerona”,
“致”:“巴塞罗那”,
“指示”:“,
“时间”:“2018-02-02 20:05”,
“交通”:“公共汽车”,
“运输编号”:“M31、M32、M33”,
“seatno”:“任何”
}
];
var sortedData=data.sort(函数(a,b){
返回a['到']==b['从']]?0:1;
} );
控制台日志(sortedData)代码>我认为您正在尝试按键对对象数组进行排序,请看:我完全按照您没有尝试的方式进行了排序,但没有给出预期的结果。请检查php usort代码的上述输出。因为它应该提供像巴塞罗那到Gerona-Gerona到巴塞罗那-巴塞罗那到纽约-纽约到斯德哥尔摩这样的链接-数据正是出于这个原因显示的,但是每个机场都相互连接,您可以检查php输出。我想您正试图按键对对象数组进行排序,看:我完全按照你没有尝试的方式尝试,但没有达到预期的效果。请检查php usort代码的上述输出。因为它应该提供像巴塞罗那到Gerona-Gerona到巴塞罗那-巴塞罗那到纽约-纽约到斯德哥尔摩这样的链接-数据正是出于这个原因而呈现的,但是每个机场都相互连接,您可以检查php输出。我完全按照您没有尝试的方式尝试,但没有给出预期的结果。请检查php usort代码的上述输出。因为它应该提供像巴塞罗那到Gerona-Gerona到巴塞罗那-巴塞罗那到纽约-纽约到斯德哥尔摩这样的链接-数据正是出于这个原因显示的,但是每个机场都相互连接,您可以检查php输出。@user3201528请您详细说明这个问题。我已经粘贴了上面代码的输出,看起来是正确的。嗨。我没有收到与您发布的相同的输出,当我运行代码段时,我会收到不同的输出。请检查此链接,我在@user3201528接收的内容您需要记录sortedData
变量,而不是数据
变量。更改为console.log(sortedData)
。希望这能有所帮助。我已经尝试过,但仍然是一样的。请检查github.com/qdcmedia123/test123/blob/master/sorttest.jsI的链接。我完全按照您没有尝试的方式进行了尝试,但没有给出预期的结果。请检查php usort代码的上述输出。因为它应该提供像巴塞罗那到Gerona-Gerona到巴塞罗那-巴塞罗那到纽约-纽约到斯德哥尔摩这样的链接-数据正是出于这个原因显示的,但是每个机场都相互连接,您可以检查php输出。@user3201528请您详细说明这个问题。我已经粘贴了上面代码的输出,看起来是正确的。嗨。我没有收到与您发布的相同的输出,当我运行代码段时,我会收到不同的输出。请检查此链接,我在@user3201528接收的内容您需要记录sortedData
变量,而不是数据
变量。更改为console.log(sortedData)
。希望这有帮助。我已经尝试过了,但仍然一样。请查看github.com/qdcmedia123/test123/blob/master/sorttest.js链接
$data_decode = json_decode($data, true);
usort($data_decode, function ($a, $b) {
return $a['to'] === $b['from'] ? 0 : 1;
});
print_r($data_decode);
[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
)