按照标准数组值对一个数组进行排序或排列 - 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.