JavaScript Array Metodlari: slice() vs splice()

JavaScript Array Metodlari: slice() vs splice()

Umid Negmatullayev / @undigitals / https://t.me/club_undigitals

Ikkala funksiya/metod ham JavaScript array ni qirqish/o'chirish uchun ishlatiladi. 

Asosiy farqlar:

  1. Agar ikkalasiga ham bittadan argument berilsa arr.slice(2) va arr.splice(2), slice() 0-indeksdan 2-indeksgacha elementlarni o'chirib undan keyingilarini yangi array qilib qaytaradi, splice() esa 0-indeksdan 2-indeksgacha bo'lgan elementlarni qaytaradi qolganlarini esa o'chiradi.
  2. slice() asosiy array ni o'zgartirmasdan aksincha yangi array qaytaradi, splice() amallarni asosiy(orginal) arrayda bajaradi va ba'zi hollarda bu kutilmagan yomon holatlarni keltirib chiqaradi agar asosiy array yana boshqa yerlarda ishlatilishi kerak bo'lsa.
  3. slice(1,2) ning ikkinchi argumenti u qaysi indeksgacha qirqishini bildirsa, splice(1,2) da esa birinchi argumentdan keying nechta indeks qirqishini birdiradi (hozirgi splice misolida 0 va 1 indeksdan keyin yana ikita array indeksi o'chiriladi).


slice() o’zgarmas (immutable), splice() original array ni o’zgartiradi.


Array.prototype.slice 

Slice metodi array ni qirqib, qirqilmagan elementlarni yangi array ga solib qaytaradi, ya’ni orginal arrayni o’zgatirmaydi. 


Ikkita argument oladi, ikkalasi ham ixtiyoriy, birinchisi qirqish boshlanadigan indeks, ikkinchisi qirqish tugallanadigan indeks. Agar hech qanaqa argument berilmasa to’liq holatda array qaytariladi (qirqilmasdan).


const orginalArray = [‘a’, ‘b’, ‘c’, ‘d’,’e’]
const slicedArray = orginalArray.slice()
console.log(slicedArray) // [‘a’, ‘b’, ‘c’, ‘d’, ’e’]


Agar bitta argument berilsa, 0 dan to berilgan argumentgacha bo’lgan indeks qirqiliadi


const orginalArray = [‘a’, ‘b’, ‘c’, ‘d’,’e’]
const slicedArray = orginalArray.slice(3)
console.log(slicedArray) // [‘d’, ’e’]


Ikkita argument bilan:


const orginalArray = [‘a’, ‘b’, ‘c’, ‘d’,’e’]
const slicedArray = orginalArray.slice(1,3)
console.log(slicedArray) // [‘b’, ‘c’, ‘d’]


Agar 0 dan kichkina argument berilsa indeks oxiridan bowlanadi:


const orginalArray = [‘a’, ‘b’, ‘c’, ‘d’,’e’]
const slicedArray = orginalArray.slice(-2)
console.log(slicedArray) // [‘d, ‘e’]  


Array.prototype.splice()

Splice array metodi original array ni o’zgartiradi va array elementlarini o’chirish yoki qo’shish uchun ishlatiladi.


Bitta argument berilganda 0 dan boshlab to o’sha argumentgacha bo’lgan indeks qoladi undan keyingi indekslar o’chib ketadi. 


const orginalArray = [‘a’, ‘b’, ‘c’, ‘d’,’e’]
const slicedArray = orginalArray.splice(2)
console.log(orginalArray) // [‘a’, ‘b’,] // orginal array 
console.log(slicedArray) // [‘c’, ‘d’,e’,] // o’chib ketgan elementlar


Ikkinchi argument brinchi argumentdan kn nechta indeks o’chishi uchun.


const orginalArray = [‘a’, ‘b’, ‘c’, ‘d’,’e’]
orginalArray.splice(2, 2)
console.log(orginalArray) // [‘a’, ‘b’, ‘e’] // original array 


Ikkinchidan kngi argumentlar arrayga yangi elementlar qo’shadi. 


const orginalArray = [‘a’, ‘b’, ‘c’, ‘d’,’e’]
orginalArray.splice(2, 2, ‘c’, ‘f’)
console.log(orginalArray) // [‘a’, ‘b’, ‘e’, ‘c’,’f’] // original array 






Report Page