前端火车票面试排序题
2018-01-28 本文已影响0人
哥本哈登_sketch
题目:请根据以下几张乱序车票根据排序出顺序
思路:
1.要找出起始站与终点站,根据车票顺序找到起点与终点都只出现过一次的即可
实现代码:
<html>
<script>
var arr = [
{start:'肃宁',end:'长沙'},
{start:'沧州',end:'任丘'},
{start:'任丘',end:'肃宁'},
{start:'长沙',end:'武汉'},
{start:'武汉',end:'上海'},
{start:'北京',end:'沧州'}
]
let a = arr.filter((e,i,arr) => arr.map(v => v.end).indexOf(e.start) == -1);
let b = arr.reduce((pre,cur,index,arr) => {
return pre.concat(arr.filter((e,i) => {
return e.start == pre[pre.length - 1].end;
}));
},a)
console.log(b);
</script>
</html>