Показать сообщение отдельно
  #3 (permalink)  
Старый 23.12.2020, 13:37
Аспирант
Отправить личное сообщение для denis_alekss Посмотреть профиль Найти все сообщения от denis_alekss
 
Регистрация: 01.12.2020
Сообщений: 55





Я выводил не новый массив, а старый, в этом был залет. Поменял на строку

result.innerHTML += i + " - " + rez[i] + '<br>'}



Вроде как заработал вывод. Только есть момент.

Если к написать вот так:



<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Тест</title>
 </head>
 <body>  
<p id="result"></p>

    <script>
let arr = ["Я", "изучаю", "JavaScript", "прямо", "сейчас", "помни", "это"];
let rez = arr.slice(-3);
for(let i = 0; i<rez.length; i++){
result.innerHTML += i + " - " + rez[i] + '<br>'}
 
  </script>
 </body>
</html>



Вывод правильный, с конца массива стартует вывод с третьего элемента по последний:



0 - сейчас
1 - помни
2 - это



Ели поменять эту строку:

let rez = arr.slice(-3);


[Нажмите и перетащите, чтобы переместить]

на
let rez = arr.slice(2,5);



Вывод такой:




0 - JavaScript
1 - прямо
2 - сейчас



Но должен произойти вывод со 2-го элемента по 5, но происходит вывод со второго по 4-ый элемент, почему?


2 элемент массива: "JavaScript",

3 элемент массива: "прямо",

4 элемент массива: "сейчас",

5 элемент массива: "помни",



5 -ый элемент, слово помни не выводит.
Ответить с цитированием