我有一个2d数组,我想对它进行排序
var result = {
validationdate : [
"2023-03",
"2022-11",
"2023-01",
"2023-04"
],
program : [
"a",
"a",
"b",
"a"
],
}
result.validationdate.sort()
return result
但我得到了这个:
{
"validationdate": [
"2022-11",
"2023-01",
"2023-03",
"2023-04"
],
"program": [
"a",
"a",
"b",
"a"
]
}
如何像validationdate排序那样对程序列进行排序并获得:
{
"validationdate": [
"2022-11",
"2023-01",
"2023-03",
"2023-04"
],
"program": [
"a",
"b",
"a",
"a"
]
}
我注意到validationdate是一个字符串列。
4条答案
按热度按时间mbzjlibv1#
您可以做的一件事是创建一个索引数组,并根据相关的日期对它们进行排序。
使用索引顺序,我们现在可以通过将索引Map到其关联值来替换
validationdate
和program
的当前值。ru9i0ody2#
您可以通过这种方式实现:
1.创建一个orderList,其中包含验证日期和程序的键值对
1.然后排序
validationdate
1.然后在排序数组上循环并从orderList中获取Map值。分配给
result.program
zte4gxcn3#
要根据已排序的
validationdate
数组对program
数组进行排序,我们可以创建一个包含两个数组中的值的对象数组。然后我们可以根据validationdate
属性对这个数组进行排序,并从排序后的对象数组中提取排序后的程序数组。a6b3iqyw4#
输出:- [ {“date”:“2022-11”、“方案”:“a”},{“date”:“2023-01”,“程序”:“B”},{“date”:“2023-03”,“程序”:“a”},{“date”:“2023-04”,“程序”:“a”} ]那么只有我们想再次形成我们的对象