使用 lodash orderBy 或 sortBy 并处理 null 值

sdd*_*208 5 javascript lodash

我在使用 sortBy 或 orderBy 按名称对数组进行排序时遇到问题,其中名称可能为空。我希望能够按名称升序 (AZ) 排序,并在末尾添加空值。

目前我的代码:

_sortBy(myArray, objectA => objectA.name)
Run Code Online (Sandbox Code Playgroud)

将在开始时返回空值,然后继续对后面具有名称​​值的对象进行排序。

预先感谢您的任何帮助。

cha*_*tfl 0

在 vanilla js 中可以这样做:

data.sort((a,b)=>{
  if(a.name===b.name){
    return 0
  }else if(a.name===null || b.name===null){
    return a.name ? -1 : 1;
  }
  return a.name.localeCompare(b.name);
})
console.log(data)
Run Code Online (Sandbox Code Playgroud)
<script>
 var data=[
   {name:'F'},
   {name:null},
   {name:null},
   {name:'A'}
 
 ]
</script>
Run Code Online (Sandbox Code Playgroud)