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' ]