[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Работа с массивами, не работает метод slice
denis_alekss
Прочитал про метод slice на сайте Javascript https://learn.javascript.ru/array-methods. Не правильно выводит массив.

Вот код:

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

<script>

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

</script>
</body>
</html>




arr.slice(-4);

Должна с 4-го элемента, считаем с конца массива, так как там минус 4. Это элемент прямо.

Должно вывести со слова прямо до конца все элементы. А выводит все элементы полностью.

Если изменить код на такой:

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

<script>

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

</script>
</body>
</html>




произойдет вывод только первых 4-х элементов, но правило гласит если -4, с конца считаем 4 -ый элемент и выводим все элементы до конца, но выводится почему-то элементы сначала,


0 - Я
1 - изучаю
2 - JavaScript
3 - прямо

вместо такого вывода:

 "прямо", "сейчас", "помни", "это"



Второй пример:

Если я захочу скопировать с какого-то элемента массива по какой-то. Например со 2-го элемента по 5.

И напишу такой код:


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

<script>

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

</script>
</body>
</html>




arr.slice(2,5); Не происходит копирования, происходит вывод непонятно чего, а вывод такой в итоге:

0 - Я
1 - изучаю
2 - JavaScript



хотя я эти элементы не выбирал вообще, а выбирал эти:


"изучаю", "JavaScript", "прямо", "сейчас",
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.