同事发来一堆这东西说帮忙排排序:这个~~好吧!
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))
走起得到了自己想要的东西,再从他得到一个有序的数组不难了吧,就送到这里前面的路自己走