Giả sử, chúng ta có hai mảng như thế này -
const arr1 = ['d','a','b','c'] ; const arr2 = [{a:1},{c:3},{d:4},{b:2}];
Chúng tôi được yêu cầu viết một hàm JavaScript chấp nhận hai mảng này. Hàm sẽ sắp xếp mảng thứ hai theo các phần tử của mảng đầu tiên.
Chúng ta phải sắp xếp các khóa của mảng thứ hai theo các phần tử của mảng đầu tiên. Điều này sẽ tạo ra kết quả sau -
const output = [{d:4},{a:1},{b:2},{c:3}];
Ví dụ
Sau đây là mã -
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);
Đầu ra
Điều này sẽ tạo ra kết quả sau trong bảng điều khiển -
[ { d: 4 }, { a: 1 }, { b: 2 }, { c: 3 } ]