0
私は以下のようなコードを持っています:JSFiddle私はどこから離れているかによって2つの配列にjsonの文字列を並べ替えようとしています。私は私の例のJSON文字列を解析し、私の配列の両方を移入することができるよ、彼らがあるべきときには、投入されているときに、いくつかのポケモンが(Nearby[]
配列から削除されていないことが表示されます他の配列に見つかった値が配列から一貫して削除されない
var pokemon = JSON.parse(JSONoriginal); //*See JSFiddle link for full JSON String*
//encounter_ids are unique to each spawned pokemon, use these to look for & remove duplicates
for(var x=0; x <= pokemon.result.length-1; x++){
var aPokemon = {
name: pokemon.result[x].pokemon_id,
encounter_id: pokemon.result[x].encounter_id,
expiration_timestamp_ms: pokemon.result[x].expiration_timestamp_ms,
latitude: pokemon.result[x].latitude,
longitude: pokemon.result[x].longitude
};
if(pokemon.result[x].expiration_timestamp_ms === undefined){
//Check if pokemon's already been put into nearby array, if so then we don't need to do anything
var a = nearby.filter(function(a){
return a.encounter_id === aPokemon.encounter_id;
})[0];
if(a === undefined){
//Put in nearby Array because we don't have a location
nearby.push(aPokemon);
}
}else{
//Check if pokemon's already been put into nearby array, if so then remove it from there
var b = nearby.filter(function(b){
return b.encounter_id === aPokemon.encounter_id;
})[0];
if(b !== undefined){
nearby.splice(nearby.indexOf(b),1);
}
//Check if pokemon's already been put into immediate array, if so then we don't need to do anything
var c = immediate.filter(function(c){
return c.encounter_id === aPokemon.encounter_id;
})[0];
if(c === undefined){
//Put it in immediate Array because we can locate & display them
immediate.push(aPokemon);
}
}
}
Immediate[]
アレイ)。誰でも私の論理に誤りを見つけられますか?このループを正しく動作させるにはどうすればよいですか?
修正されました。直近のセクションに配置されると、近くのセクションに表示されません。あなたは良い点を挙げていますが、代わりに何を調べるべきですか? – CaffeinatedCoder
私の編集をご覧ください。 – Ruud
それはトリックでした!私はそれが私が行方不明だったことが明らかだった。本当にありがとう! – CaffeinatedCoder