Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

จัดเรียงอาร์เรย์ที่สองตามองค์ประกอบของอาร์เรย์แรกใน 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 } ]