我希望保持我的分数(x,y)始终为正。
我有一个包含这些值的数组:
(points) [-916, 214, 10, 214, 10, 362, 200, 362, 200, 764, -916, 764]
X Y X Y X Y X Y X Y X Y
是否有算法可以将这些点移动到它们的原点,以便坐标始终保持正值?
答案 0 :(得分:1)
您可以先获得x
和y
的最小值,然后使用更正来映射新数组。
最低值
[-916, 0]
转换
[-916, 214, 10, 214, 10, 362, 200, 362, 200, 764, -916, 764] original [ 0, 214, 926, 214, 926, 362, 1116, 362, 1116, 764, 0, 764] updated
var data = [-916, 214, 10, 214, 10, 362, 200, 362, 200, 764, -916, 764];
min = [0, 0];
data.forEach(function (v, i) {
if (v < min[i % 2]) {
min[i % 2] = v;
}
});
console.log(min);
console.log(data.map(function (v, i) {
return v - min[i % 2];
}));
.as-console-wrapper { max-height: 100% !important; top: 0; }