gpt4 book ai didi

javascript - 使用javascript从对象数组中查找象限

转载 作者:行者123 更新时间:2023-11-30 00:19:06 27 4
gpt4 key购买 nike

我有一个变量,它是一个对象数组,每个对象都有点。变量是:

var points = [
{x: 1, y: 1 },
{x: -1, y: 1 },
{x: -1, y: -1 },
{x: 1, y: -1 },
{x: 2, y: 2 },
{x: -1, y: 2 },
{x: -1, y: -2 },
{x: 1, y: -2 },
{x: 1, y: 6 },
{x: -1, y: 4 },
{x: -3, y: -1 },
{x: 1, y: -1 },
{x: 10, y: 1 },
{x: -1, y: 11 },
{x: -1, y: -1 },
{x: 1, y: -1 }];

现在我想找到给定象限中的最大向量。

最佳答案

你可以使用这个:

function max_from_quadrant( x, y ) {

var max_magnitude = 0;
var maxIndex = -1;

for ( var i = 0; i < points.length; i++ ) {

var point = points[i];
if ( point.x*x < 0 || point.y*y < 0 )
continue;

var magnitude = point.x*point.x + points.y*point.y;

if ( magnitude > max_magnitude ) {
max_magnitude = magnitude;
max_index = i;
}

}

return max_index > -1 ? points[max_index] : false;

}

只需传入两个带有符号的数字参数,这些参数与您想要在其中找到最大值的象限相匹配。对于您的点集,这给出了:

max_from_quadrant( -1, -1 ) // {x: -3, y: -1}
max_from_quadrant( -1, 1 ) // {x: -1, y: 11}
max_from_quadrant( 1, -1 ) // {x: 1, y: -2}
max_from_quadrant( 1, 1 ) // {x: 10, y: 1}

关于javascript - 使用javascript从对象数组中查找象限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33840438/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com