DzieńDobry chciałbym zmienić moj program kółko i krzyżyk obecnie działa on w ten sposób że szuka wolnej pozycji poprzez losowanie liczby od 0 do 8 jeśli jest zajęta wywołuje funkcję ponownie ,chyba że może postawic ruch w wygrywającym miejscu to wtedy tam stawia.Chciałbym zmodyfikować obecny kod poprzez funkcje ,ktora pokazuje miejsca nie zajęte przez 'X' i 'O'
AvaibleMoves = (squares) =>
{
return squares.map((e,i) => e ==='X' || e=='O' ? i : undefined).filter(x => x);
}
Funkcja obecnie wygląda tak i jest bliska działania ,ale nwm czemu nie pokazuje jak index 0 jest zajęty no i pokazuje miejsca w których X i O występują,a nie na odwrót(ta 2 opcja to mniejszy problem).

Powyżej przykład jak wyswietla tablice squares oraz co wypluwa nam funkcja filtrująca, na tablicy squares jest 'O' na indexie zerowym natomiast w tablicy powstałej przez funkcje filtującą nie wyswietla się index 0.