[英]Partially sort array in JavaScript [closed]
我有以下数组: const arr = [-1, 9, 2, 5, 6, -1, 9, 8, -1, 4];
我想在不改变-1
的位置的情况下对其进行部分排序。 输出应该是: expected = [-1, 2, 5, 6, 9, -1, 8, 9, -1, 4]
。 我如何在 JavaScript 中实现这一点。 我将感谢蛮力和最佳(时间)解决方案......
arr = [-1, 9, 2, 5, 6, -1, 9, 8, -1, 4]; sorted=arr.reduce((acc,cv)=>{ if(cv==-1) { acc.push([-1]); acc.push([]); } else { acc[acc.length-1].push(cv); } return acc; },[[]]) .map(item=>item.sort((a,b)=>ab)) .reduce((acc,cv)=>acc.concat(cv),[]) console.log(JSON.stringify(sorted));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.