Массивыг хэрхэн хуулах эсвэл өргөжүүлэх вэ?

Сүүлийн шинэчлэлт: 2023/10/11

Програм хангамж хөгжүүлэх чиглэлээр, arrays эсвэл массивууд нь програмчлалын чухал хэсгийг төлөөлдөг. Эдгээр нь мэдээллийн багцыг ижил нэрээр хадгалах боломжийг олгодог өгөгдлийн бүтэц бөгөөд өгөгдөлд хандах хандалтыг хөнгөвчилдөг. Өгөгдлийн хэмжээ, төрөл ямар ч байсан програмистуудад хэрэгтэй үе үргэлж байдаг массивыг хуулах эсвэл өргөжүүлэх. Дараагийн өгүүллээр бид эдгээр үйлдлүүдийг өөр өөр програмчлалын хэлээр хэрхэн гүйцэтгэх талаар дэлгэрэнгүй тайлбарлахад анхаарлаа хандуулах болно.

Массивыг хуулах эсвэл өргөжүүлэх хэрэгцээг ойлгох

Програмчлалын хувьд бид ихэвчлэн шаардлагатай нөхцөл байдалд ордог массивыг хуулах эсвэл өргөжүүлэх. Жишээлбэл, бид хуулбарыг хадгалах шаардлагатай байж магадгүй юм массивын анхны массивыг өөрчлөхгүйгээр үйлдлүүдийг гүйцэтгэх. Эсвэл бидний массив дүүрсэн тул илүү олон элемент нэмэхийн тулд хэмжээг нь нэмэгдүүлэх шаардлагатай байж магадгүй юм. Эдгээр тохиолдлын хувьд массивыг хуулах эсвэл өргөжүүлэх үйл ажиллагаа зайлшгүй шаардлагатай. Энэ функц нь массивын хэмжээг хуулах эсвэл нэмэгдүүлэхэд үйлчилдэг төдийгүй зөвхөн шаардлагатай өгөгдлийг хадгалах замаар санах ойн хэрэглээг багасгахад тусалдаг.

Нөгөөтэйгүүр, энэ үнэ цэнэтэй mencionar que Java дахь массивууд нь хувиршгүй объектууд юм, өөрөөр хэлбэл массив үүссэний дараа түүний хэмжээ өөрчлөгдөх боломжгүй. Жава хэл дээрх массивыг "өргөжүүлэх" тулд бид шинэ том массив үүсгэж, дараа нь эх массивын элементүүдийг шинэ массив руу хуулах хэрэгтэй болно. Энэ нь жаахан уйтгартай байж болох ч Java стандарт номын санд суулгасан аргууд байдаг System.arraycopy() y Arrays.copyOf() хөнгөвчлөх боломжтой энэ үйл явц. JavaScript эсвэл Python гэх мэт динамик өгөгдлийн бүтцийг зохицуулдаг хэлнүүдийн хувьд процесс нь илүү хялбар бөгөөд дараах аргууд байдаг. push() y append() Энэ нь шинэ массив үүсгэхгүйгээр одоо байгаа массив руу элементүүдийг нэмэх боломжийг олгодог.

Онцгой контент - Энд дарна уу  MIUI 12 дээрх аппликейшнуудад хэрхэн хурдан үйлдэл хийх вэ?

Javascript дээр массив хуулах аргуудыг судлах

Javascript дээр массивыг хуулбарлах, хуулбарлах хамгийн түгээмэл арга бол ашиглах явдал юм slice() арга. Энэ арга нь эхлэл ба төгсгөлийн индексүүдийн хооронд үүсгэсэн дэд массиваас массивын гүехэн хуулбарыг буцаана. Энэ нь анхны массивыг өөрчлөхгүй бөгөөд хуулбарласан массивыг эх массиваас бүрэн тусгаарладаг. Массив доторх объектуудыг хуулахдаа шинэ жишээ үүсгэхийн оронд эх объект руу лавлагаа үүсгэдэг гэдгийг анхаарах нь чухал. Энэ нь хэрэв та хуулсан массив дахь объектыг өөрчилвөл энэ нь анхны массивт мөн өөрчлөгдөнө гэсэн үг юм. Энд харуулах зарим код байна:


let arrayOriginal = ['a', 'b', 'c', 'd', 'e'];
let arrayCopia = arrayOriginal.slice();

Si lo que necesitas es массивыг өргөжүүлэх, JavaScript энэ нь бидэнд санал болгодог хийх хэд хэдэн арга. Нэг арга бол тархалтын операторыг ашиглах явдал юм. Энэ оператор нь массив доторх давтагдах элементүүдийг өргөжүүлэх боломжийг олгодог бүтээх анхны массивын элементүүд болон нэмэлт элементүүдийг агуулсан шинэ массив. Өөр нэг арга бол concat() арга бөгөөд анхны массивыг нэг буюу хэд хэдэн массив эсвэл утгуудаар нэгтгэсний үр дүнд үүссэн шинэ массивыг буцаадаг. Эцэст нь та массивын төгсгөлд нэг буюу хэд хэдэн элемент нэмж, массивын шинэ уртыг буцаадаг push() аргыг ашиглаж болно. Энд байна зарим жишээ:


let array1 = [1, 2, 3];
let array2 = [...array1, 4, 5, 6]; // array2 ahora es [1, 2, 3, 4, 5, 6]


let array3 = [1, 2, 3];
let array4 = array3.concat([4, 5, 6]); // array4 ahora es [1, 2, 3, 4, 5, 6]


let array5 = [1, 2, 3];
array5.push(4, 5, 6); // array5 ahora es [1, 2, 3, 4, 5, 6]

Массивыг өргөжүүлэх: Зөвлөмж болгож буй техникүүд болон бусад сонголтууд

Массивыг өргөтгөх нь програмчлалын нийтлэг ажил бөгөөд ялангуяа их хэмжээний өгөгдлийг хадгалах, удирдахад тохиолддог. Гэсэн хэдий ч зөв техникийг мэдэхгүй бол даалгавар нь хэцүү байж болно. Энд бид зарим санал болгож буй арга техник болон массивыг өргөжүүлэх бусад сонголтуудын талаар ярилцах болно. Юуны өмнө та функцийг ашиглаж болно Array.prototype.concat(). Энэ функц нь хоёр ба түүнээс дээш массивыг нэгтгэдэг ганцхан матриц. Цаашилбал, энэ нь анхны матрицуудыг өөрчлөхгүй, гэдэг нь мэдээллийн бүрэн бүтэн байдал хадгалагдана. Array.prototype.concat()-г хэрхэн ашиглах жишээ энд байна:


let array1 = [1, 2, 3];
let array2 = [4, 5, 6];
let newArray = array1.concat(array2);

// newArray ahora es [1, 2, 3, 4, 5, 6]

Өөр нэг сонголт бол операторын техникийг ашиглах явдал юм тархалт (…) . Энэ оператор нь массиваас элементүүдийг авч шинэ массив дээр байрлуулах боломжийг олгодог. Array.prototype.concat()-аас ялгаатай нь тархалтын оператор нь массив болон объектуудтай сайн ажилладаг. Үүнийг мөн массивыг хуулахад ашиглаж болно. Спред операторыг хэрхэн ашиглах жишээ энд байна:


let array1 = [1, 2, 3];
let newArray = [...array1, 4, 5, 6];

// newArray ahora es [1, 2, 3, 4, 5, 6]

Эцсийн эцэст, ямар аргыг ашиглахаа сонгох нь таны төслийн онцлог хэрэгцээнээс хамаарна. Гэсэн хэдий ч Array.prototype.concat() болон тархалтын оператор хоёулаа массивыг өргөтгөх үр дүнтэй арга юм.

Онцгой контент - Энд дарна уу  Spotify дээр зураг хэрхэн нэмэх вэ

Массивын үр дүнтэй менежмент: Кодын гүйцэтгэлд үзүүлэх нөлөө

Массивтай ажиллахдаа a хувьцааны Хамгийн түгээмэл нь эдгээрийн хуулбар эсвэл өргөтгөл юм. Гэсэн хэдий ч эдгээр үйлдлийг хэрхэн гүйцэтгэхийг мэдэх нь чухал юм үр ашигтайгаар сайн кодын гүйцэтгэлийг хангах. Тиймээс бид хоёр үндсэн аргыг шинжлэх болно. Array.prototype.slice() y Array.prototype.concat().

Бид массивыг хуулах шаардлагатай үед функцийг ашиглаж болно slice(). Энэ арга нь массивын нэг хэсгийн гүехэн хуулбарыг шинэ массив объект болгон үүсгэх боломжийг олгодог. Массивыг бүрэн хуулбарлахын тулд бид ямар ч аргументгүйгээр зүсмэлийг ашиглана.

эх var = [1, 2, 3, 4, 5]; var copy = original.slice();

Энэ нь бидэнд "эх" массивтай ижил утгатай шинэ "хуулбар" массивыг өгөх болно. Гэсэн хэдий ч, энэ арга нь санах ойн хэт их хэрэглээ, кодын удаашралд хүргэж болзошгүй тул том массивын хувьд хамгийн үр дүнтэй арга биш гэдгийг анхаарах хэрэгтэй.

Онцгой контент - Энд дарна уу  Solution Esound намайг нэвтрэхийг зөвшөөрөхгүй

Массивуудыг өргөжүүлэхийн тулд функцийг ашиглахыг санал болгож байна concat(). Энэ аргыг хоёр ба түүнээс дээш массивыг нэгтгэхэд ашигладаг бөгөөд шинэ массивыг буцаадаг. Бидэнд нэгдэхийг хүссэн "массив1" ба "массив2" гэсэн хоёр массив байна гэж төсөөлье. Тиймээс бид concat-ийг дараах байдлаар ашиглаж болно.

var array1 = [1, 2, 3]; var array2 = [4, 5, 6]; var extended = array1.concat(array2);

Энэ нь [1, 2, 3, 4, 5, 6] утгатай "өргөтгөсөн" массивыг буцаана. Үүнийг санаж байгаарай concat Энэ нь жижиг массивуудыг нэгтгэхэд маш сайн бөгөөд том массивуудтай ажиллахад их хэмжээний санах ой зарцуулдаг.