是否有可能将一个数组映射到一个新的数组并对其进行排序,而无需迭代两次(一次是第一个数组上的映射,一个是第二个数组上的排序)?我一直试图用匿名函数对它进行排序,如下所示:在JavaScript中映射和排序一次迭代?
var arr=[4,2,20,44,6];
var arr2=arr.map(function(item, index, array){
if(index==array.length-1 || item==array[index+1]){
return item;
}
else if((item-array[index+1])<0){
return item;
}
else if((item-array[index+1])>0){
return array[index+1];
}
});
console.log(arr2);
但它似乎并不奏效。我的方式是基于如何实现这个目标,还是仅仅存在我的代码问题?
是的,我可以。我只是好奇它是否可以在一次迭代中完成。 – Yansky