算法: distanceSort(array, target)
输入:一个整数数组 从最小到最大排序 和一个用于测量距离的整数
输出:按与目标的距离排序的数组
示例
distanceSort([-10,-6,3,5], 1)
返回 [3, 5, -6, -10]
最佳答案
这是一种方法。使用 Array.sort
函数
var a = [-10, -6, 3, 5, 99, 76, -100];
function distanceSort(arr, target) {
return arr.sort(function(a, b) {
var distance1 = Math.abs(target - a);
var distance2 = Math.abs(target - b);
return distance1 == distance2 ? 0 : (distance1 > distance2 ? 1 : -1);
});
}
console.log(distanceSort(a, 100)); //[99,76,5,3,-6, -10, -100]
console.log(distance(a, -5)); //[-6, -10, 3, 5, 76, -100, 99]
关于javascript - 使用javascript根据元素与给定目标的距离对整数数组进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32899496/