我有一个联系人的详细信息,如电子邮件,phone#等数组。这些联系人都是按姓名排序。但是,虽然每个联系人都必须具有这些详细信息,但他们并不总是分配有姓名。我是否可以添加一个简单的参数,将这些名值为空的联系人发送到列表的末尾?我现在所拥有的。
array=_.sortBy(array,'Name');
return array;
发布于 2018-08-01 18:29:19
您可以在迭代器中使用一个函数来将错误值排序到底部。
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>
发布于 2018-08-01 18:29:19
我不认为有一种方法可以使用lodash,但是使用普通的js很容易。
let arr = [{
name: null
}, {
name: 'foo'
}, {
name: 'bar'
}, {
name: null
}];
arr.sort((a, b) => a.name === null ? Number.MAX_SAFE_INTEGER : a.name.localeCompare(b.name));
console.log(arr);
https://stackoverflow.com/questions/51639935
复制相似问题