
Как использовать Splice в JavaScript: понимание метода массива
8 декабря 2022 г.Сращивание — это метод массива Javascript, который изменяет содержимое массива, удаляя или заменяя существующий элемент или добавляя новый элемент на место.
В этом руководстве я объясню, как использовать метод объединения массивов Javascript. Эту статью могут прочитать и понять разработчики любого уровня.
n Понимание метода массива (сращивание)
Если мы посмотрим на веб-сайт MDN, мы увидим, что конструктор прототипа массива Javascript, который позволяет нам добавлять новые методы и свойства к объекту Array(), имеет множество методов, и splice — один из них.< /p>
Array.prototype.splice()
Однако если бы мы попытались использовать этот же метод для прототипа строки, как в примере ниже;
const strings = 'узнать'
strings.splice()
Однако мы получили бы ошибку типа:
Uncaught TypeError: strings.splice не является функцией
Важно знать, что сращивание и срез — это не одно и то же. Метод среза не мутирует и не изменяет ваши данные, в отличие от метода сращивания, и именно поэтому метод сращивания нельзя использовать для строк: строки неизменяемы.
Как использовать метод объединения массивов Javascript
Использовать метод массива Javascript splice легко, но синтаксис иногда используется неправильно.
Вы можете использовать метод сплайсинга в этих шагах
arr.splice(start, deleteCount, item1, ..., itemN)
Свойство splice() принимает некоторые параметры, эти параметры используются для определения поведения любого массива, к которому был вызван метод splice.
Они следующие:
- Начать
- deleteCount
- Элементы
Начать
Это просто индекс, с которого мы хотим, чтобы наш массив начал изменение, ни один элемент не будет удален, если индекс элемента больше, чем длина массива. Но он добавляет аргумент в конец массива, если индекс меньше длины массива.
deleteCount
Это необязательный параметр, обозначающий количество элементов, которые необходимо удалить из массива. Для удаления или удаления элемента должен присутствовать параметр start.
Если вы не включите этот параметр или если его значение равно длине массива или даже превышает длину массива, все элементы от параметра start до последнего элемента в массиве будут удалены. Обратите внимание, что этот параметр должен быть включен, если присутствует параметр элемента.
Предметы
Это также необязательный параметр, указывающий элемент, который нужно добавить в массив
Если мы не укажем элементы, метод splice() массива Javascript удалит элементы из массива. Это вернет пустой массив.
Случаи использования
Теперь, когда мы поняли, что такое параметры, давайте попробуем рассмотреть варианты использования и примеры того, как это можно реализовать при написании нашей программы.
Удаление нулевых элементов перед указанным индексом
Если мы хотим добавить элемент, не удаляя какой-либо элемент, мы просто указываем индекс, и он не удалит ничего, кроме начала до указанного индекса.
Давайте посмотрим на пример ниже: n
const myMusic = ['фортепиано', 'гитара', 'скрипка', 'оркестр'];
const removeElement = myMusic.splice(2, 0, 'барабан');
n
// myMusic это [фортепиано', 'гитара', 'барабан', 'гитара', 'скрипка', 'оркестр']
// removeElement пуст [ ], элементы не удалены
n
В приведенном выше коде мы пытаемся удалить элемент с индексом 3 (мандарин), то есть, как только он доберется до индекса 3, все найденные элементы будут удалены без замены каким-либо элементом.
Мы также можем удалить один элемент и добавить другие элементы.
const myMusic = ['фортепиано', 'гитара', 'барабан', 'скрипка', 'оркестр']
const removeElement = myMusic.splice(3, 1, ‘sax’);
// myMusic это ['фортепиано', 'гитара', 'барабан', 'саксофон', 'оркестр']
// removeElement — это ['скрипка']
Точно так же, как только мы доберемся до индекса 3, все, что он найдет, в данном случае «оркестр», будет удалено и добавлено более новое («саксофон»). В приведенном выше коде показано, как «барабан» был добавлен в массив. . Начиная с индекса 2, ноль говорит ему ничего не удалять, если бы у нас был 1, он удалил бы 1 элемент и добавил бы нужный элемент, и так далее.
Удаление одного или нескольких элементов по указанному индексу
Скажем, мы хотим удалить один элемент или элемент, не добавляя новый в массив, мы можем просто написать его, как в предыдущем фрагменте кода
const myMusic = ['фортепиано', 'гитара', 'барабан', 'скрипка', 'оркестр'];
const removeElement = myMusic.splice(3, 1);
// myMusic это ['фортепиано', 'гитара', 'барабаны', 'очестра']
// removeElement — ['скрипка']
n
Мы можем начать с любого индекса и удалить столько элементов, сколько захотим.
Удалить все элементы, начиная с указанного индекса
Мы можем удалить все элементы массива, начиная с любого желаемого индекса. Предположим, например, что мы хотим удалить все, начиная с индекса 1. Как только он дойдет до индекса 1, все элементы, начиная с индекса 1, будут удалены.
const myMusic = ['фортепиано', 'гитара', 'барабан', 'скрипка', 'оркестр']
const removeElement = myMusic.splice(1);
// myMusic это ['фортепиано', 'гитара']
// removeElement — ['барабан', 'саксофон', 'очестра']
Этот фрагмент кода пытается удалить все элементы, начиная с индекса 1. Где индекс 1 — это «клоун» в массиве. Поскольку подсчет начинается с 0, это вернет новый массив. который содержит только один элемент, который называется «ангел». Это связано с тем, что во время подсчета «ангел» оказывается с индексом 0, а подсчет начинается с индекса 1. Индекс 0 будет опущен, и он вернет этот результат.
Выводы
Если вам нужно выполнить задачу над массивом и вы не хотите изменять исходный массив, следует избегать метода splice() массива Javascript, поскольку он изменяет ваши данные.
const beforeSplice = ['хлеб','рыба','повар']
console.log(beforeSplice)
// ['хлеб', 'рыба', 'повар']
const afterSpliceData = beforeSplice.splice(1)
console.log(afterSplice)
// ['рыба', 'приготовить']
n
В приведенном выше примере. Перед сращиванием метод массива Javascript вызывался для переменной beforeSplice. У нас было 3 элемента, но после применения метода он возвращает 2 элемента. Этот метод изменил данные. Иногда это не то, чего мы хотим. Но если все, что вам нужно сделать, это удалить элементы или добавить элемент, это прекрасно.
Увидимся на следующем. п
Оригинал