slice()
и splice()
— оба метода для массивов javascript!
slice()
slice()
копирует элементы из исходного массива и возвращает выбранные элементы. При использовании slice()
исходный массив остается незатронутым.
Синтаксис
slice(start,end)
Параметры
-
start
— указывает индекс для начала нарезки. Индексация начинается с 0. Если указано отрицательное значение n, то будут получены последние n значений. -
end
— указывается индекс, до которого будут выбираться элементы. Не включительно. Если указано отрицательное значение n, то последние n значений будут исключены.
Примеры
let a=[0,1,2,3,4,5,6,7,8,9];
//Return the elements from 3rd index till 6th index
console.log(a.slice(3,6)); //returns [3, 4, 5]
//Return all the elements from 2nd index
console.log(a.slice(2)); // returns [2, 3, 4, 5, 6, 7, 8, 9]
//Return the last 3 elements
console.log(a.slice(-3)); // returns [7, 8, 9]
//Return all the elements from 1st index except the last 3 elements
console.log(a.slice(1,-3));// returns [1, 2, 3, 4, 5, 6]
splice()
splice()
удаляет элементы из исходного массива, а затем возвращает выбранные элементы. При использовании splice()
содержимое исходного массива также изменяется.
Синтаксис
splice(start,delete-count, item1, item 2, .... n)
Параметры
-
start
— указывает индекс для начала сращивания. Индексация начинается с 0. Если указано отрицательное значение n, то будут извлечены последние n значений. -
delete-count
— количество элементов, которые должны быть удалены из исходного массива и возвращены. -
item1, item 2, .... n
— Это новые элементы, которые должны быть добавлены, начиная с индексаstart
.
Примеры
let a=[0,1,2,3,4,5,6,7,8,9];
//Delete the elements from 3rd index till 6th index
console.log(a.splice(3,3)); //returns [3, 4, 5] and a=[0, 1, 2, 6, 7, 8, 9]
//Delete 4 elements from 2nd index
let a=[0,1,2,3,4,5,6,7,8,9];
console.log(a.splice(2,4)); //returns [2, 3, 4, 5] and a=[0, 1, 6, 7, 8, 9]
//Delete all the elements from 2nd index
let a=[0,1,2,3,4,5,6,7,8,9];
console.log(a.splice(2)); // returns [2, 3, 4, 5, 6, 7, 8, 9] and a=[0, 1]
//Delete the last 3 elements
let a=[0,1,2,3,4,5,6,7,8,9];
console.log(a.splice(-3)); // returns [7, 8, 9] and a=[0, 1, 2, 3, 4, 5, 6]
//Delete 2 elements from the 5th index and add 2 new elements
let a=[0,1,2,3,4,5,6,7,8,9];
console.log(a.splice(5,2,"five","six")); // returns [5, 6] and a=[0, 1, 2, 3, 4, 'five', 'six', 7, 8, 9]
//No deletion. Just add 2 new elements before the 6th index
let a=[0,1,2,3,4,5,6,7,8,9];
console.log(a.splice(6,0,5.1,5.2)); // returns [] and a=[0, 1, 2, 3, 4, 5, 5.1, 5.2, 6, 7, 8, 9]