私が持っている:Javascriptで最も近いエンティティを取得するにはどうすればよいですか?
array = [{
'id': <an id like -45283etc>,
'x': 7,
'y': 10,
'z': 5
},
{
'id': <random id, too>,
'x': 19,
'y': 6,
'z': 4
},
{
'id': <random id, too>,
'x': 2,
'y': -7,
'z': -5
}
]
配列[0]私は[0]([2]配列[1]や配列)配列に最も近いエンティティのかを知ることができますどのようにプレイヤー
です?
for(var closest = 1, var i = 1; i < array.length; i++){
if(array[i] is closer to player than closest){
var closest = array[i]
}
}
return array[i]
if文で何を書いてください。
「近い」と定義しない限り、この質問に答えることはできません。 'array [1]'は索引によって自明に近くなります。実際のオブジェクトのプロパティを数値として比較する場合は、使用するプロパティと、L1、L2、またはL-無限大のノルムを必要とするかどうかを判断する必要があります。 – Paulpro
質問は明確ではありません。 ** 'x、y、z'値に基づいてより近く**? – Manwal
@Paulproいいえ、それは正しくありませんでした。私はそのコメントを削除しました。少なくとも、オフセット(array [0]のx、y、z座標)を作成し、それらを使用して計算(オフセット値の差)をオフセットする必要があります。 –