gpt4 book ai didi

underscore.js - 使用下划线 sortBy 方法对对象数组进行排序

转载 作者:行者123 更新时间:2023-12-04 02:43:50 24 4
gpt4 key购买 nike

我有一个对象数组,我想按“home”的值对该数组进行 ASC 排序。该字段始终是数字。所以我试过这个:

_.sortBy(data.home.en, function(obj){ return obj.home });

当“家”的值低于 10 时效果很好,但由于某种原因 10 紧跟在 1 之后,所以我的最终订单看起来像这样 1,10,11,2,3,4,5,6,7 ,8,9 。为什么会这样?谢谢...

最佳答案

您的 obj.home值是字符串,因此它们作为字符串进行比较,而 '1' < '10'是真的。如果你想像数字一样对它们进行排序,那么将它们转换为数字:

_.sortBy(data.home.en, function(obj){ return +obj.home });

或者:
_.sortBy(data.home.en, function(obj){ return parseInt(obj.home, 10) });

演示: http://jsfiddle.net/ambiguous/DpfgV/1/

关于underscore.js - 使用下划线 sortBy 方法对对象数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16253493/

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