Muszę wydrukować na każdej iteracji pętli. W C # mogę użyć konsoli.write (), ale w języku JS.

Oto mój kod:

let firstNum = +gets();
let secondNum = +gets();
let thirdNum = +gets();
let line = +gets();
let array = [0, 0, 0];

print(firstNum);
print(secondNum, thirdNum);

if (line > 2) {
    for (let i = 3; i <= line; i++) {
        for (let j = 0; j < i; j++) {
            let tempNum = firstNum + secondNum + thirdNum;
            firstNum = secondNum;
            secondNum = thirdNum;
            thirdNum = tempNum;
            array.push(thirdNum);
            array.shift();
        }
        print(array);
    }
}

To Tribonacci, ale mój wynik musi być:

1

-1 1.

1 1 3.

5 9 17 31

Ale jeśli linia jest 4 lub więcej, otrzymuję ten wynik bez zmiany ():

1

-1 1.

[1, 1, 3]

[1, 1, 3, 5, 9, 17, 31]

Kiedy używaj zmiany () w mojej pętli i umieść 0, 0, 0 na początku mojej tablicy mam ten wynik:

1 -1 1 [1, 1, 3] [9, 17, 31]

W ostatnim wydruku potrzebuję 5, 9, 17, 31, ale Shift () Delete 5. Więc usuń pierwsze 4 indeksy ...

Jak mogę wydrukować w każdej iteracji My Array bez pierwszych 3 indeksów?

Edytuj:

Wejście wynosi 1 -1 1 4

-3
Николай Матев 25 luty 2019, 12:58

2 odpowiedzi

Najlepsza odpowiedź

Wypróbuję kilka wariantów z plasterkiem () i zmianą () w mojej pętli, ale w każdej iteracji usuwa więcej lub les indeksów. Więc zmienam pomysł i wyczyść swoją tablicę po każdej iteracji druku:

if (line > 2) {
    for (let i = 3; i <= line; i++) {

        for (let j = 0; j < i; j++) {
            let tempNum = bigInt(firstNum).add(secondNum).add(thirdNum);
            firstNum = secondNum;
            secondNum = thirdNum;
            thirdNum = tempNum;
            array.push(thirdNum)
        }
        print(array.toString().replace(/,/g, ' '));
        array.length = 0;
    }
}

Dzięki za pomoc w plasterku ().

1
Николай Матев 26 luty 2019, 10:04

Jak mogę wydrukować w każdej iteracji My Array bez pierwszych 3 indeksów?

Zakładając, że masz na myśli to dosłownie, pierwszy wynik tutaj wydaje się, że zadziałał ładnie: https://www.google.com/search?q= JavaScript + Drukuj + część + tablicy +

To mówi:

metoda plasterka ()
Zwraca wybrane elementy w tablicy, jako nowy obiekt tablicy ...

składnia
array.slice (początek, koniec)

Wartości parametrów
start opcjonalnie. Integer, który określa, gdzie rozpocząć wybór ...
koniec opcjonalnie. Integer, który określa, gdzie zakończyć wybór. Jeśli pominięto, wszystkie elementy z pozycji startowej i do końca tablicy zostaną wybrane ...

Więc to stwierdzenie powinno sprawić, że JavaScript drukuje tablicę bez pierwszych trzech indeksowanych elementów:
console.log(array.slice(3));

1
Cat 25 luty 2019, 10:49