根据文件路径排序

同事发来一堆这东西说帮忙排排序:这个~~好吧!

var array = ['C:\Users\renke\Desktop\sprite\3.png',
    'C:\Users\renke\Desktop\sprite\1.png',
    'C:\Users\renke\Desktop\sprite\11.png',
    'C:\Users\renke\Desktop\sprite\12.png',
    'C:\Users\renke\Desktop\sprite\13.png',
    'C:\Users\renke\Desktop\sprite\2.png',
    'C:\Users\renke\Desktop\sprite\10.png',
    'C:\Users\renke\Desktop\sprite\4.png',
    'C:\Users\renke\Desktop\sprite\5.png',
    'C:\Users\renke\Desktop\sprite\6.png',
    'C:\Users\renke\Desktop\sprite\7.png',
    'C:\Users\renke\Desktop\sprite\8.png',
    'C:\Users\renke\Desktop\sprite\9.png'
]
思考:
  1.取到1.png ,2.png 然后排序
  2.排完后怎么根据新数组得到对应的 “C:\Users\renke\Desktop\sprite\xxxx”

思路:
  得到 1.png ,2.png 然后排序,把对应的一堆东西作为属性存在里面,排序完成再取出来。

呵呵呵思路清晰,有点小激动呢~

直接在node下搞,浏览器麻烦 开干:
const path = require("path");

function
pathP(array) { let b = []
  //获取自己想得到的东西 array.forEach((item, index)
=> { b[index] = { "index": index, "path": item, "bsI": path.parse(item).base.split(".")[0], "bs": path.parse(item).base }; }) let len = b.length;
  //根据一得到格式,开始排序算法(这个算法有点高级,我也是先百度后理解然后改写了下)
for (var i = 1; i < len; i++) { let tmp = b[i]; for (var j = i; j > 0 && parseInt(b[j - 1].bsI) > parseInt(tmp.bsI); j--) { b[j] = b[j - 1]; } b[j] = tmp; } return b }

console.log(pathP(array))

走起得到了自己想要的东西,再从他得到一个有序的数组不难了吧,就送到这里前面的路自己走

原文地址:https://www.cnblogs.com/SongYiJian/p/6405737.html