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

จะสร้างอาร์เรย์ที่สั่งซื้อจากค่าที่มีหมายเลขคำสั่งซื้อใน JavaScript ได้อย่างไร


สมมติว่า เรามีชุดของสตริงซึ่งมีและเส้นทางรูปภาพและลำดับ #concatenated สิ่งเหล่านี้มีลักษณะเช่นนี้ -

const images = [
   'photo1.jpg,0',
   'photo2.jpg,2',
   'photo3.jpg,1'
];

ดังนั้น ลำดับที่ถูกต้องควรเป็น – photo1, photo3, photo2. สิ่งที่เราต้องทำคือประมวลผลสิ่งนี้เป็นอาร์เรย์ที่เรียงลำดับอย่างถูกต้องโดยมีเพียงค่าพาธเท่านั้น ในที่สุดเราต้องการ -

const orderedImages = [
   'photo1.jpg',
   'photo3.jpg',
   'photo2.jpg'
]

มาเขียนโค้ดเพื่อจัดเรียงอาร์เรย์ของรูปภาพนี้ตามลำดับที่ถูกต้องกัน −

ตัวอย่าง

const images = [
   'photo1.jpg,0',
   'photo2.jpg,2',
   'photo3.jpg,1'
];
const sorter = (a, b) => {
   return parseInt(a.split(",")[1]) - parseInt(b.split(",")[1]);
};
const sortArray = arr => {
   return arr
   .slice()
   .sort(sorter)
   .map(el => {
      return el.split(",")[0];
   });
};
console.log(sortArray(images));

ผลลัพธ์

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

[ 'photo1.jpg', 'photo3.jpg', 'photo2.jpg' ]