• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Powtarzająca się wartość - funkcja

Aruba Cloud - Virtual Private Server VPS
0 głosów
508 wizyt
pytanie zadane 26 września 2022 w JavaScript przez Klaudiaaaa Początkujący (250 p.)

Stwórz funkcję indexOfRepeatedValue(array). Prześlij do niej tablicę z 10 liczbami które są zapisane w zmiennej numbers.

Stwórz w tej funkcji zmienną firstIndex. W pętli for sprawdź, która z liczb powtarza się jako pierwsza i przypisz jej indeks do zmiennej firstIndex. Następnie wypisz w konsoli tą zmienną – poza pętlą for. Zwróć wartość firstIndex z funkcji. const numbers = [2, 4, 5, 2, 3, 5, 1, 2, 4];

mój kod nie działa bo totalnie nie wiem jak wypisać to w funkcji:

return firstIndex;
console.log(firstIndex);

a to cały mój kod:

function indexOfRepeatedValue(array) {
    let firstIndex = "";
    for (let i = 0; i < numbers.length; i++) {
        for (let j = i + 1; j < numbers.length; j++) {
            if (numbers[i] === numbers[j]) {

                if (firstIndex === "") {

                    firstIndex = array.indexOf(numbers[i]);
                    break;
                }
            }
        }

        if (firstIndex !== "") {

            break;
        }
    }
    return firstIndex;
    console.log(firstIndex);
}
indexOfRepeatedValue(numbers);

pytanie nowicjusza wiec proszę o wyrozumiałość 

komentarz 26 września 2022 przez ScriptyChris Mędrzec (190,190 p.)
edycja 26 września 2022 przez ScriptyChris

Na przyszłość proszę umieszczać kod w odpowiednich bloczkach, zamiast jako cytat.

(zdaje się, że wystąpił tu błąd z formatowaniem bloczka z kodem, który już wcześniej się pojawiał)

2 odpowiedzi

0 głosów
odpowiedź 27 września 2022 przez Sareley Gaduła (4,740 p.)
wybrane 28 września 2022 przez Klaudiaaaa
 
Najlepsza

Parametr który przyjmujesz w funkcji nazywasz array ale później w kodzie operujesz na zmiennej numbers którą pewnie masz zadeklarowaną wcześniej jako zmienną globalną. Poprawiłem trochę Twój kod żeby działał poprawnie. Zamieniłem również zmienną firstIndex aby początkowo miała wartość -1. To taka dobra praktyka żeby nie zmieniać typu zmiennej (u Ciebie początkowo był typ string a w późniejszym etapie int).

function indexOfRepeatedValue(array) {
    let firstIndex = -1;
    for (let i = 0; i < array.length; i++) {
        for (let j = i + 1; j < array.length; j++) {
            if (array[i] === array[j]) {
                firstIndex = array.indexOf(array[i]);
                break;
            }
        }
        if(firstIndex > -1)
            break;
    }
    
    return firstIndex;
}

Kod możesz wywołać w następujący sposób

const numbers = [2, 4, 5, 2, 3, 5, 1, 2, 4];
let foundedFirstIndex = indexOfRepeatedValue(numbers);
console.log(foundedFirstIndex);

 

komentarz 29 września 2022 przez Klaudiaaaa Początkujący (250 p.)
dziękuję za odpowiedź! bardzo mi pomogła. I masz rację z góry miałam narzuconą zmienną numbers z tabelą, dlatego próbowałam wcisnąć ją w pętle. Twoje rozwiązanie jest dużo lepsze
0 głosów
odpowiedź 26 września 2022 przez Klaudiaaaa Początkujący (250 p.)

juz wiem... 


    console.log(firstIndex);
return firstIndex;

Podobne pytania

0 głosów
1 odpowiedź 223 wizyt
0 głosów
1 odpowiedź 109 wizyt
0 głosów
2 odpowiedzi 782 wizyt

93,329 zapytań

142,323 odpowiedzi

322,400 komentarzy

62,663 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...