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'}]
某些给定约束条件:

  • 这些项目是动态的,“名称”和“sortItem”属性
  • 显示名称但按另一个字段排序是有充分理由的
  • 此数组来自服务器,因此必须易于JSON字符串化
  • 然后我用
    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是否不在前面。很抱歉,没有明确说明问题。我已经对上面的问题添加了一个编辑。这是一个有效的选项,但我会等待,看看是否有更直接的答案。如果没有,我将把这标记为一个答案。