Computer >> Máy Tính >  >> Lập trình >> Javascript

Làm cách nào để tạo một mảng có thứ tự từ các giá trị có số thứ tự trong JavaScript?

Giả sử, chúng ta có một chuỗi các chuỗi, chứa và đường dẫn hình ảnh và thứ tự # được nối với nhau. Chúng trông như thế này -

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

Do đó, thứ tự chính xác phải là - photo1, photo3, photo2. Những gì chúng ta cần làm là processthis thành một mảng được sắp xếp chính xác chỉ với các giá trị đường dẫn. Vì vậy, cuối cùng chúng ta cần -

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

Hãy viết mã để sắp xếp mảng hình ảnh này theo đúng thứ tự của nó -

Ví dụ

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));

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

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