【发布时间】:2016-07-03 02:05:44
【问题描述】:
所以我有一个如下所示的 JSON 数组:
[
{
row: [
{
boat: {
description: 'Books',
version: '2',
id: 6
},
airplanes: [
{
airplane: [
{
description: 'DVD',
version: 2,
uid: 69,
wid: 65,
id: 84
}
],
trains: {
train: [
{
description: 'Pictures',
version: 2,
id: 149
}
],
actions: [
{
description: 'This is a really long sentence.',
version: 2,
tid: 69.01,
id: 452
},
{
description: 'article 2',
version: 2,
tid: 69.02,
id: 453
},
{
description: 'developer 1',
version: 2,
tid: 69.03,
id: 454
}
]
}
},
{
airplane: [
{
description: 'Games',
version: 2,
uid: 65,
wid: 61,
id: 80
}
],
trains: {
train: [
{
description: 'another great descriptions.',
version: 2,
id: 145
}
],
actions: [
{
description: 'being indecisive is good.',
version: 2,
tid: 65.01,
id: 442
},
{
description: 'couches are comfortable',
version: 2,
tid: 65.02,
id: 443
}
]
}
}
]
}
]
}
]
我正在尝试按“wid”以升序对上述输出进行排序,但仍然能够保留整体顺序。例如上面数组元素0的wid是65,数组元素1的wid值是61。因此,元素1和元素0应该交换。有没有内置的 javascript 方法可以像这样对 json 进行排序?
我将有一个比提供的示例大很多的 json 数组输出。
【问题讨论】:
-
仅供参考,您所拥有的是对象数组,而不是 JSON。 JSON 是指定的数据格式。
-
没有针对这种特定场景的内置方法。您必须自己编写逻辑。或者lodash 可能有一些可以帮助您的方法。不知道,我没用lodash。
-
没有内置方法,但您可以在 JavaScript 中设置创建自定义排序函数,并将其用于您要在对象中排序的对象数组(可能是
airplanes数组) .这是自定义排序的示例:stackoverflow.com/questions/5002848/…
标签: javascript arrays json sorting lodash