在 JavaScript 中根据第一个数组的元素对第二个数组进行排序
javascriptweb developmentfront end technologyobject oriented programming
假设我们有两个像这样的数组 −
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 } ]