สมมติว่า เรามีชุดของสตริงซึ่งมีและเส้นทางรูปภาพและลำดับ #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' ]