Snippets

Piotr Szrajber Unikalne obiekty latające

Created by Piotr Szrajber
/**
* Można to na przykład wkleić w konsolę javascript (F12 w Chrome)
*
* Przykładowy output na konsoli:
*
* Received 3000 records with 86 unique icao codes
* In air: 86; removed: 0; added:0
* Received 2958 records with 87 unique icao codes
* In air: 87; removed: 0; added:1
*/

let memoryStore = new Set();
getData = async function() {
    const response = await fetch("https://airspac.eu/adsb-sources/getCreotechV2AdsbTicks");
    const data = await response.json();
    const icaos = new Set(data.map(item => item.icao));
    let toRemove = 0;
    let toAdd = 0;
    for (let prevKey of memoryStore) {
        if (!icaos.has(prevKey)) {
            toRemove++;
            memoryStore.delete(prevKey);
        }
    }
    for (let nextKey of icaos) {
        if (!memoryStore.has(nextKey)) {
            toAdd++;
            memoryStore.add(nextKey);
        }
    }

    console.log(`Received ${data.length} records with ${icaos.size} unique icao codes`);
    console.log(`In air: ${memoryStore.size}; removed: ${toRemove}; added:${toAdd}`);
}
var handle = setInterval(getData, 1000);

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.