如何在 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 次浏览

开启您的职业生涯

完成课程以获得认证

开始
广告