如何在 JavaScript 中從帶有順序號的值建立有序陣列?


假設,我們有一系列字串,其中包含影像路徑和順序 # 連線在一起。它們如下所示 -

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

更新時間: 2020-08-26

118 次瀏覽

開啟您的職業生涯

完成課程以獲得認證

開始
廣告
© . All rights reserved.