根據另一個數組對陣列進行排序 JavaScript
假設,我們有兩個類似這樣的陣列 -
const input = ['S-1','S-2','S-3','S-4','S-5','S-6','S-7','S-8']; const sortingArray = ["S-1", "S-5", "S-2", "S-6", "S-3", "S-7", "S-4", "S-8"];
我們需要編寫一個 JavaScript 函式,該函式分別將兩個這樣的陣列作為第一個和第二個引數。
該函式應根據第一個陣列在第二個陣列中的位置對第一個陣列的元素進行排序。
程式碼如下 -
示例
const input = ['S-1','S-2','S-3','S-4','S-5','S-6','S-7','S-8'];
const sortingArray = ["S-1", "S-5", "S-2", "S-6", "S-3", "S-7", "S-4", "S-8"];
const sortByReference = (arr1 = [], arr2 = []) => {
const sorter = (a, b) => {
const firstIndex = arr2.indexOf(a);
const secondIndex = arr2.indexOf(b);
return firstIndex - secondIndex;
};
arr1.sort(sorter);
};
sortByReference(input, sortingArray); console.log(input);輸出
控制檯中的輸出為 -
[ 'S-1', 'S-5', 'S-2', 'S-6', 'S-3', 'S-7', 'S-4', 'S-8' ]
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP