工作中碰到的一个问题
两个数组,其中一个arr2数组包含排序的信息,另外一个arr数组是数据,数据需要依靠arr2中的sort字段来进行排序,两数组有关联的id。
function sort_fun(){
let arr = [{"id":"abc123","path":"123.txt","a_id":"1"},{"id":"abc422","path":"123.txt","a_id":"5"},{"id":"abc311","path":"123.txt","a_id":"2"},{"id":"abc311","path":"123.txt","a_id":"3"},{"id":"abc311","path":"123.txt","a_id":"4"}];
let arr2 = [{"a_id":"1","name":"abc","sort":"1"},{"a_id":"2","name":"abc","sort":"2"},{"a_id":"3","name":"abc","sort":"3"},{"a_id":"4","name":"abc","sort":"4"},{"a_id":"5","name":"abc","sort":"5"}];
for(let ele of arr){
for(let ele2 of arr2){
if(ele2.a_id == ele.a_id){
ele.sort = ele2.sort;
}
}
}
console.log(arr);
arr.sort(function(a,b){
return a.sort-b.sort;// a-b输出从小到大排序,b-a输出从大到小排序。
});
console.log(arr);
}
暂时只能想到这个方法了,如果后期想起来有更高效的方法,再来改。
参考:https://www.cnblogs.com/longze/archive/2012/11/27/2791230.html