Javascript 排序第一的字符
我有这样一个对象数组:Javascript 排序第一的字符,javascript,Javascript,我有这样一个对象数组: var myArray = [{name: 'John', sortItem: 'abra'}, {name: 'Doe', sortItem: 'cadabra'}] 某些给定约束条件: 这些项目是动态的,“名称”和“sortItem”属性 显示名称但按另一个字段排序是有充分理由的 此数组来自服务器,因此必须易于JSON字符串化 然后我用sortBy(myArray,'sortItem')对它进行排序(sortBy来自) 现在我想添加一个默认选项,并确保它始终是排序后
var myArray = [{name: 'John', sortItem: 'abra'}, {name: 'Doe', sortItem: 'cadabra'}]
某些给定约束条件:
sortBy(myArray,'sortItem')
对它进行排序(sortBy
来自)
现在我想添加一个默认选项,并确保它始终是排序后的第一个选项。所以我尝试了一些选择:
var myList=[a',a',0];\。sortBy(myList)
导致[“A”,“A”,0]
var myList=['a'、'a'、''];\。sortBy(myList)
结果是[“A”,“A”]
var myList=['a','a','。sortBy(myList)
导致[“,”A“,”A“]
var myList=['a','a',''];\。sortBy(myList)
导致[“”,“A”,“A”]
似乎我现在最好的选择是添加
{name:'Default',SoditItem:'}
,但是是否有其他字符/值可以确保我的默认项是第一个
编辑
问题不在于如何构建排序函数;但是,在Javascript中,哪个字符的“值”最低
换句话说,如果您获取所有可能的字符(通过jsonification的字符)的列表并对它们进行排序,那么第一个字符是什么?您可以添加另一个排序字段,该字段将确定主顺序,“sortItem”将是第二个排序 因此,您的排序如下所示:
_.sortBy(myArray, ['default', 'sortItem'])
var myArray = [
{name: 'John', sortItem: 'abra'},
{name: 'Doe', sortItem: 'cadabra'},
{name: 'This is the default', sortItem: 'zzzzz', default: true}
];
您的阵列看起来像:
_.sortBy(myArray, ['default', 'sortItem'])
var myArray = [
{name: 'John', sortItem: 'abra'},
{name: 'Doe', sortItem: 'cadabra'},
{name: 'This is the default', sortItem: 'zzzzz', default: true}
];
排序函数将使用相同的字符串生成意外结果。请小心使用。您能先排序,然后插入默认项吗?首先排序的字符是什么?或者创建您自己的排序函数,并检查sodItem是否不在前面。很抱歉,没有明确说明问题。我已经对上面的问题添加了一个编辑。这是一个有效的选项,但我会等待,看看是否有更直接的答案。如果没有,我将把这标记为一个答案。