首页 > 解决方案 > 使用 lodash _.sortby 对包含详细信息的联系人数组进行排序并最后发送空值?

问题描述

我有一系列联系人,其中包含电子邮件、电话号码等详细信息。这些联系人都按名称排序。但是,虽然每个联系人都必须有这些详细信息,但他们并不总是分配有名称。是否可以添加一个简单的参数来将这些具有 null Name 值的联系人发送到列表末尾?我现在拥有的。

array=_.sortBy(array,'Name');
return array;

标签: javascriptsortinglodash

解决方案


您可以使用迭代器中的函数将虚假值排序到底部。

var users = [{ name: null }, { name: 'susan' }, { name: 'barney' }, { name: 'fred' }, { name: 'jane' }, { name: null }];

console.log(_.sortBy(users, [({ name }) => name === null, 'name']));
.as-console-wrapper { max-height: 100% !important; top: 0; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.15.0/lodash.min.js"></script>


推荐阅读