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

ใช้อาร์เรย์เป็นลำดับการจัดเรียงใน JavaScript


const sort = ["this","is","my","custom","order"];
const myObjects = [
   {"id":1,"content":"is"},
   {"id":2,"content":"my"},
   {"id":3,"content":"this"},
   {"id":4,"content":"custom"},
   {"id":5,"content":"order"}
];

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์สองอาร์เรย์ดังกล่าว และจัดเรียงอาร์เรย์ที่สองของอ็อบเจ็กต์ตามอาร์เรย์แรก เพื่อให้คุณสมบัติเนื้อหาของออบเจ็กต์ตรงกับสตริงของอาร์เรย์แรก

ดังนั้น สำหรับอาร์เรย์ข้างต้น เอาต์พุตควรมีลักษณะดังนี้ −

const output = [
   {"id":3,"content":"this"},
   {"id":1,"content":"is"},
   {"id":2,"content":"my"},
   {"id":4,"content":"custom"},
   {"id":5,"content":"order"}
];

ตัวอย่าง

รหัสสำหรับสิ่งนี้จะเป็น −

const arrLiteral = ["this","is","my","custom","order"];
const arrObj = [
   {"id":1,"content":"is"},
   {"id":2,"content":"my"},
   {"id":3,"content":"this"},
   {"id":4,"content":"custom"},
   {"id":5,"content":"order"}
];
const sortByReference = (arrLiteral, arrObj) => {
   const sorted = arrLiteral.map(el => {
      for(let i = 0; i < arrObj.length; ++i){
         if(arrObj[i].content === el){
            return arrObj[i];
         }
      };
   });
   return sorted;
};
console.log(sortByReference(arrLiteral, arrObj));

ผลลัพธ์

และผลลัพธ์ในคอนโซลจะเป็น −

[
   { id: 3, content: 'this' },
   { id: 1, content: 'is' },
   { id: 2, content: 'my' },
   { id: 4, content: 'custom' },
   { id: 5, content: 'order' }
]