nodejs两个关联的数组,排序

工作中碰到的一个问题

两个数组,其中一个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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值