gpt4 book ai didi

javascript - UnderscoreJs : _. groupBy 和 _.sortBy

转载 作者:行者123 更新时间:2023-11-30 10:15:57 25 4
gpt4 key购买 nike

我正在尝试成对使用下划线 _.groupBy()_.sortBy,但问题是最后一个更改对象的键是从groupBy 到带有索引的数组。是否可以保留对象的原始索引(键)?

例子如下:

我的代码:

var sorted = _.chain(cars).groupBy('Make').sortBy(function(car) {
return car.length * -1;
});

groupBy 的结果:

{ 
"Volvo" : [ "S60", "V40" ],
"Volkswagen" : [ "Polo", "Golf", "Passat" ]
}

sortBy 的结果:

[ 
0 : [ "Polo", "Golf", "Passat" ],
1 : [ "S60", "V40" ]
]

预期结果:

[
"Volkswagen" : [ "Polo", "Golf", "Passat" ],
"Volvo" : [ "S60", "V40" ]
]

最佳答案

对象在 JavaScript 中是无序的。如果你需要类似对象但有序的东西,你可以使用 _.pairs 来转换它,然后对列表进行排序。

_.pairs({ 
"Volvo" : [ "S60", "V40" ],
"Volkswagen" : [ "Polo", "Golf", "Passat" ]
})

给予:

[
["Volvo", [ "S60", "V40" ]],
["Volkswagen", [ "Polo", "Golf", "Passat" ]]
]

...然后您可以使用 _.sortBy 对其进行排序。如果将以上内容分配给 cars,则:

_.sortBy(cars, function(x) { return -x[0].length; });

给出:

[
[ 'Volkswagen', ['Polo', 'Golf', 'Passat' ]],
[ 'Volvo', ['S60', 'V40']]
]

关于javascript - UnderscoreJs : _. groupBy 和 _.sortBy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23654328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com