splice მეთოდი
splice მეთოდი წაშლის ან ამატებს
ელემენტებს მასივში. შეგიძლიათ მხოლოდ წაშალოთ ელემენტები,
მხოლოდ დაამატოთ ან გააკეთოთ ორივე ერთდროულად.
მეთოდი ძალიან მრავალმხრივი და
გაგებისთვის რთულია.
მეთოდი ცვლის თავად მასივს და აბრუნებს
წაშლილი ელემენტების მასივს.
პირველ პარამეტრად მეთოდი იღებს მასივის იმ ელემენტის ნომერს,
რომლის წაშლაც გსურთ. მეორე პარამეტრად
- რამდენი ელემენტის წაშლა გსურთ მასივიდან.
თუ მას 0-ს დაუყენებთ - ელემენტები არ წაიშლება
(მხოლოდ ახალი ელემენტები დაემატება).
შემდეგ მძიმით გამოყოფილად მოდის ელემენტები, რომლების
დამატებაც გსურთ მასივში (არის არასავალდებულო
პარამეტრები). ეს ელემენტები დაემატება მასივის
წაშლილი ელემენტების ნაცვლად.
თუ წაშლა არ მომხდარა (როცა მეორე პარამეტრი
0-ია) - ელემენტები ჩაისმევა მასივში იმ პოზიციიდან დაწყებული,
რომელიც მითითებულია მეთოდის პირველი პარამეტრით.
პირველ პარამეტრს შეიძლება ჰქონდეს უარყოფითი
მნიშვნელობა. ამ შემთხვევაში პოზიციის დათვლა დაიწყება
არა მასივის დასაწყისიდან, არამედ დასასრულიდან.
ბოლო ელემენტს
ამ შემთხვევაში ექნება ნომერი -1.
სინტაქსი
მასივი.splice(საიდან ვშლით, რამდენს ვშლით, [ჩასმა], [ჩასმა]...);
მაგალითი
მოდით, წავშალოთ სამი ელემენტი, პირველიდან დაწყებული:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(1, 3);
console.log(arr);
კოდის შესრულების შედეგი:
['a', 'e']
მაგალითი
მოდით, გამოვიტანოთ წაშლილი ელემენტების მასივი:
let arr = ['a', 'b', 'c', 'd', 'e'];
let del = arr.splice(1, 3);
console.log(del);
კოდის შესრულების შედეგი:
['b', 'c', 'd']
მაგალითი
მოდით, ჯერ წავშალოთ ელემენტი ნომერით
2, შემდეგ კი მის ნაცვლად ჩავსვათ კიდევ
სამი ახალი ელემენტი:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 1, '1', '2', '3');
console.log(arr);
კოდის შესრულების შედეგი:
['a', 'b', '1', '2', '3', 'd', 'e']
მაგალითი
მოდით, ახლა არაფერი წავშალოთ, მაგრამ
2 პოზიციაზე, ჩავსვათ კიდევ სამი ახალი
ელემენტი:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 0, '1', '2', '3');
console.log(arr);
კოდის შესრულების შედეგი:
['a', 'b', '1', '2', '3', 'c', 'd', 'e']
მაგალითი . უარყოფითი მნიშვნელობა
მოდით, წავშალოთ ბოლოდან მეორე ელემენტი:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(-2, 1);
console.log(arr);
კოდის შესრულების შედეგი:
['a', 'b', 'c', 'e']