Ciamar a nì thu lethbhreac no leudachadh air raon?

Ùrachadh mu dheireadh: 11/10/2023

Ann an leasachadh bathar-bog, arrays no tha arrays a’ riochdachadh pàirt riatanach de phrògramadh. Is e structaran dàta a th’ annta a leigeas leinn seataichean fiosrachaidh a stòradh fon aon ainm, a’ comasachadh làimhseachadh agus ruigsinneachd air dàta. Ge bith dè am meud agus an seòrsa dàta, bidh amannan ann an-còmhnaidh nuair a bhios feum aig luchd-prògramaidh lethbhreac no leudachadh air sreath. San artaigil a leanas, cuiridh sinn fòcas air a bhith a’ mìneachadh gu mionaideach mar a nì thu na h-obraichean sin ann an diofar chànanan prògramaidh.

A’ Tuigsinn an Fheum air Eagrachadh a Chopaigeadh no a Leudachadh

Ann am prògramadh, bidh sinn gu tric gar lorg fhèin ann an suidheachaidhean far a bheil feum againn lethbhreac no leudachadh air sreath. Mar eisimpleir, is dòcha gum feum sinn lethbhreac a shàbhaladh de sreath gus obraichean a dhèanamh gun a bhith ag atharrachadh an t-sreath thùsail. No is dòcha, tha an raon againn air fàs làn agus feumaidh sinn a mheud àrdachadh gus barrachd eileamaidean a chuir ris. Airson na cùisean sin, tha e riatanach obrachadh a bhith a 'dèanamh lethbhreac no leudachadh air raon. Chan e a-mhàin gu bheil an gnìomh seo a’ frithealadh gus meud an t-sreath a chopaigeadh no àrdachadh, ach faodaidh e cuideachd ar cuideachadh le bhith a’ lughdachadh cleachdadh cuimhne le bhith a’ stòradh an dàta riatanach a-mhàin.

Air an làimh eile, is fhiach e iomradh air sin Tha arrays ann an Java nan nithean nach gabh atharrachadh, is e sin, aon uair ‘s gu bheil sreath air a chruthachadh, chan urrainn dha meud atharrachadh. Gus “leudachadh” raon ann an Java, dh'fheumamaid sreath ùr nas motha a chruthachadh agus an uairsin na h-eileamaidean den t-sreath thùsail a chopaigeadh chun fhear ùr. Faodaidh seo a bhith beagan tedious, ach tha dòighean air an togail a-steach do leabharlann àbhaisteach Java mar System.arraycopy() y Arrays.copyOf() a dh’ fhaodas a dhèanamh nas fhasa Am pròiseas seo. Airson cànanan a bhios a’ làimhseachadh structaran dàta fiùghantach, leithid JavaScript no Python, tha am pròiseas tòrr nas sìmplidhe agus tha dòighean ann mar push() y append() a leigeas le eileamaidean a bhith air an cur ri sreath gnàthaichte gun a bhith a’ cruthachadh fear ùr.

Susbaint sònraichte - Cliog an seo  Ciamar a dh’ atharraicheas mi coltas StuffIt Deluxe?

A’ sgrùdadh dhòighean air lethbhreacan a dhèanamh de arrays ann an javascript

Is e an dòigh as cumanta air sreath a chopaigeadh no a dhùblachadh ann an Javascript a chleachdadh an dòigh sliseag ().. Bidh an dòigh seo a’ tilleadh leth-bhreac eu-domhainn den raon bho fho-raon a chaidh a chruthachadh eadar na clàran-amais tòiseachaidh is deireadh. Cha bhith e ag atharrachadh an t-sreath thùsail agus bidh e gu tur a’ dealachadh an t-sreath copaidh bhon t-sreath thùsail. Tha e cudromach toirt fa-near, nuair a thathar a’ dèanamh copaidh de nithean taobh a-staigh sreath, gu bheilear a’ cruthachadh iomraidhean air na nithean tùsail an àite a bhith a’ cruthachadh shuidheachaidhean ùra. Tha seo a’ ciallachadh ma dh’atharraicheas tu an nì anns an raon a chaidh a chopaigeadh, gum bi e cuideachd air atharrachadh san t-sreath thùsail. Seo cuid de chòd airson sealltainn:


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

Ma tha na tha a dhìth ort leudaich raon, JavaScript a ’tabhann dhuinn grunn dhòighean air a dhèanamh. Is e aon dòigh a bhith a 'cleachdadh a' ghnìomhaiche sgaoilidh. Leigidh an gnìomhaiche seo leat eileamaidean ath-aithriseach a leudachadh taobh a-staigh an t-sreath a chruthachadh sreath ùr anns a bheil na h-eileamaidean den t-sreath thùsail agus na h-eileamaidean a bharrachd. Is e dòigh eile an dòigh concat (), a thilleas sreath ùr a tha mar thoradh air a bhith a’ ceangal an t-sreath thùsail le aon sreath no barrachd luachan. Mu dheireadh, faodaidh tu cuideachd am modh push () a chleachdadh a chuireas aon eileamaid no barrachd ri deireadh sreath agus a thilleas fad ùr an t-sreath. Seo agaibh Eisimpleirean:


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]

Leudachadh raon: dòighean air am moladh agus roghainnean eile

Tha leudachadh raon na obair chumanta ann am prògramadh, gu sònraichte nuair a thig e gu bhith a’ stòradh agus a’ làimhseachadh tòrr dàta. Ach, faodaidh an obair a bhith dùbhlanach mura h-eil fios dè na dòighean ceart. An seo, bruidhnidh sinn air cuid de dhòighean a chaidh a mholadh agus roghainnean eile airson raon a leudachadh. An toiseach, faodaidh tu an gnìomh a chleachdadh Array.prototype.concat(). Bidh an gnìomh seo a’ cothlamadh dà shreath no barrachd ach aon matric. A bharrachd air an sin, chan eil e ag atharrachadh na matrices tùsail, a tha a ’ciallachadh sin ionracas dàta air a ghleidheadh. Seo eisimpleir de mar a chleachdas tu 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]

Is e roghainn eile an dòigh gnìomhaiche a chleachdadh sgaoil (…) . Leigidh an gnìomhaiche seo leat eileamaidean a thoirt bho raon agus an cur ann an sreath ùr. Eu-coltach ri Array.prototype.concat(), bidh an gnìomhaiche sgaoilidh ag obair gu math le arrays agus nithean. Faodar a chleachdadh cuideachd airson lethbhreac a dhèanamh de raon. Seo eisimpleir de mar a chleachdas tu an gnìomhaiche sgaoilidh:


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

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

Aig a’ cheann thall, bidh taghadh dè an dòigh a chleachdas tu an urra ri feumalachdan sònraichte a’ phròiseict agad. Ach, tha an dà chuid Array.prototype.concat() agus an gnìomhaiche sgaoilidh nan dòighean èifeachdach airson arrays a leudachadh.

Susbaint sònraichte - Cliog an seo  Mar as urrainn dhut facal-faire cunntas Microsoft To Do ath-shuidheachadh?

Riaghladh Array Èifeachdach: Buaidh air Coileanadh Còd

Nuair a thathar a’ làimhseachadh arrays, a de ghnìomhan Is e an fheadhainn as cumanta an lethbhreac no an leudachadh dhiubh sin. Ach, tha e riatanach fios a bhith agad ciamar a choileanas tu na gnìomhan sin gu h-èifeachdach gus dèanamh cinnteach à coileanadh còd math. Mar sin, tha sinn a’ dol a sgrùdadh dà phrìomh dhòigh: Array.prototype.slice() y Array.prototype.concat().

Nuair a dh'fheumas sinn lethbhreac a dhèanamh de raon, is urrainn dhuinn an gnìomh a chleachdadh sliseag(). Leigidh an dòigh seo leinn leth-bhreac eu-domhainn de phàirt den raon a chruthachadh a-steach do nì sreath ùr. Gus leth-bhreac iomlan a dhèanamh den raon againn, bidh sinn dìreach a’ cleachdadh sliseag gun argamaidean sam bith, mar seo:

tùsail var = [1, 2, 3, 4, 5]; var copy = original.slice();

Bheir seo dhuinn sreath ‘leth-bhreac’ ùr leis na h-aon luachan ris an raon ‘tùsail’. Ach, feumar a bhith den bheachd nach e an dòigh seo an dòigh as èifeachdaiche airson arrays mòra oir faodaidh e cus cleachdadh cuimhne agus lughdachadh còd adhbhrachadh.

Susbaint sònraichte - Cliog an seo  Mar a thilleas tu air ais bho Windows 10 gu 7

A thaobh leudachadh arrays, tha sinn a’ moladh an gnìomh a chleachdadh concat(). Tha an dòigh seo air a chleachdadh gus dà shreath no barrachd a chur còmhla agus sreath ùr a thilleadh. Smaoinich gu bheil dà raon againn 'array1' agus 'array2' a tha sinn airson a dhol còmhla. Mar sin, is urrainn dhuinn concat a chleachdadh mar a leanas:

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

Bheireadh seo sreath ‘leudaichte’ air ais leis na luachan [1, 2, 3, 4, 5, 6]. Bi cinnteach cuimhnich sin, fhad 'sa concat sgoinneil airson arrays beaga a chur còmhla, faodaidh e tòrr cuimhne ithe nuair a bhios e a’ dèiligeadh ri arrays nas motha.