в чем разница между методами splice и slice в javascript и когда их использовать

Аватар пользователя Ivan Gagarinov
Ivan Gagarinov
27 ноября 2024

Метод splice() используется для изменения содержимого массива. Он может удалять, добавлять и заменять элементы в массиве.

array.splice(start, deconsteCount, item1, item2, ...)
  • start: Индекс, с которого начинать изменения. Если значение отрицательное, оно указывает смещение от конца массива.
  • deconsteCount: Необязательный параметр, указывающий, сколько элементов удалить, начиная с индекса start. Если deconsteCount равен 0, элементы не удаляются.
  • item1, item2, ...: Необязательные параметры, указывающие элементы, которые необходимо добавить в массив, начиная с индекса start.

Удаление элементов:

const fruits = ['apple', 'banana', 'orange', 'pear'];
fruits.splice(1, 2);
console.log(fruits); // ['apple', 'pear']

Добавление элементов:

const fruits = ['apple', 'banana'];
fruits.splice(1, 0, 'orange', 'pear');
console.log(fruits); // ['apple', 'orange', 'pear', 'banana']

Замена элементов:

const fruits = ['apple', 'banana', 'orange'];
fruits.splice(1, 1, 'kiwi');
console.log(fruits); // ['apple', 'kiwi', 'orange']

Метод slice() используется для создания нового массива, содержащего копию части исходного массива. Он не изменяет исходный массив.

array.slice(start, end)
  • start: Индекс, с которого начинать извлечение. Если значение отрицательное, оно указывает смещение от конца массива.
  • end: Необязательный параметр, указывающий индекс, по которому заканчивается извлечение (не включая элемент с этим индексом). Если не указан, извлечение продолжается до конца массива.

Извлечение части массива:

const fruits = ['apple', 'banana', 'orange', 'pear'];
const citrus = fruits.slice(1, 3);
console.log(citrus); // ['banana', 'orange']

Копирование массива:

const fruits = ['apple', 'banana', 'orange'];
const fruitsCopy = fruits.slice();
console.log(fruitsCopy); // ['apple', 'banana', 'orange']

Использование отрицательных индексов:

const fruits = ['apple', 'banana', 'orange', 'pear'];
const lastTwo = fruits.slice(-2);
console.log(lastTwo); // ['orange', 'pear']
0 0
Познакомьтесь с основами JavaScript бесплатно

Есть что добавить? Зарегистрируйтесь

или войдите в аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Курсы по программированию в Хекслете

Программирование

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

Тест-драйв

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

Верстка

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки

Бесплатные курсы

Бесплатные курсы по тестированию, дата-аналитике, верстке, программированию на Python, Java, PHP и JavaScript.

Фреймворки

Базы данных