按 JavaScript 陣列對一組物件進行排序
假設我們有一個包含一系列物件的陣列和一個包含一系列字串的陣列,如下所示 −
舉例說明
const orders = [
{ status: "pending"},
{ status: "received" },
{ status: "sent" },
{ status: "pending" }
];
const statuses = ["pending", "sent", "received"];我們要求編寫一個 JavaScript 函式,它採用兩個這樣的陣列。此函式的目的是根據 statuses 陣列中元素對 orders 陣列進行排序。
因此,第一個陣列中的物件應根據第二個陣列中的字串來進行排序。
舉例說明
const orders = [
{ status: "pending" },
{ status: "received" },
{ status: "sent" },
{ status: "pending" }
];
const statuses = ["pending", "sent", "received"];
const sortByRef = (orders, statuses) => {
const sorter = (a, b) => {
return statuses.indexOf(a.status) - statuses.indexOf(b.status);
};
orders.sort(sorter);
};
sortByRef(orders, statuses); console.log(orders);輸出
然後,控制檯中的輸出將會是 −
[
{ status: 'pending' },
{ status: 'pending' },
{ status: 'sent' },
{ status: 'received' }
]
廣告
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP