在 JavaScript 中根据第一个数组的元素对第二个数组进行排序
假设我们有两个如下数组 -
const arr1 = ['d','a','b','c'] ;
const arr2 = [{a:1},{c:3},{d:4},{b:2}];我们需要编写一个 JavaScript 函数,该函数接受这两个数组。该函数应该根据第一个数组的元素对第二个数组进行排序。
我们必须根据第一个数组的元素对第二个数组的键进行排序。
因此,输出应如下所示 -
const output = [{d:4},{a:1},{b:2},{c:3}];因此,让我们编写此函数的代码 -
示例
代码为 -
const arr1 = ['d','a','b','c'] ;
const arr2 = [{a:1},{c:3},{d:4},{b:2}];
const sortArray = (arr1, arr2) => {
arr2.sort((a, b) => {
const aKey = Object.keys(a)[0];
const bKey = Object.keys(b)[0];
return arr1.indexOf(aKey) - arr1.indexOf(bKey);
});
};
sortArray(arr1, arr2);
console.log(arr2);输出
控制台中的输出为 -
[ { d: 4 }, { a: 1 }, { b: 2 }, { c: 3 } ]
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
JavaScript
PHP