使用标准数组值对数组进行排序或排列-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' ]