按照標準陣列值對一個數組進行排序或排列 - JavaScript


我們需要對一個動態 JavaScript 陣列進行排序。條件是我們需要按照一個標準預定義的陣列中按特定順序儲存的值對其進行排序。

假設以下內容為我們的動態陣列 −

const dbArray = ['Apple','Banana','Mango','Apple','Mango','Mango','Apple'];

假設用於對上述陣列排序的標準陣列是這樣的 −

const stdArray = ['Mango','Apple','Banana','Grapes'];

因此,在對 dbArray 進行排序後,我的結果陣列應該如下所示 −

const resultArray = ['Mango','Mango','Mango','Apple','Apple','Apple','Banana'];

示例

以下為程式碼 −

const dbArray =
['Apple','Banana','Mango','Apple','Mango','Mango','Apple'];
const stdArray = ['Mango','Apple','Banana','Grapes'];
const sortByRef = (arr, ref) => {
   const sorter = (a, b) => {
      return ref.indexOf(a) - ref.indexOf(b);
   };
   arr.sort(sorter);
};
sortByRef(dbArray, stdArray);
console.log(dbArray);

輸出

以下是在控制檯中的輸出 −

[
   'Mango',  'Mango',
   'Mango',  'Apple',
   'Apple',  'Apple',
   'Banana'
]

更新於: 18-Sep-2020

127 檢視次數

開啟您的 職業生涯

完成課程認證

開始
廣告
© . All rights reserved.