簡體   English   中英

使用lodash _.sortby對具有詳細信息的聯系人數組進行排序,最后發送空值嗎?

[英]Use lodash _.sortby to sort an array of contacts with details and send null values last?

我有一系列的聯系人,包括電子郵件,電話號碼等詳細信息。這些聯系人均按姓名排序。 但是,盡管每個聯系人都必須具有這些詳細信息,但並非總是為其分配名稱。 我可以添加一個簡單的參數,以將名稱為空的這些聯系人發送到列表的末尾嗎? 我現在有什么。

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

您可以在迭代器中使用函數將偽造的值排序到底部。

 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> 

我認為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); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM