window.pipedriveLeadboosterConfig = { base: leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster on juba olemas') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() Kolm kasulikku punkti - ülejäänud ja levik JavaScript - The Codest-s.
The Codest
  • Meie kohta
  • Teenused
    • Tarkvaraarendus
      • Frontend arendus
      • Backend arendus
    • Staff Augmentation
      • Frontend arendajad
      • Backend arendajad
      • Andmeinsenerid
      • Pilveinsenerid
      • QA insenerid
      • Muud
    • See nõuandev
      • Audit ja nõustamine
  • Tööstusharud
    • Fintech & pangandus
    • E-commerce
    • Adtech
    • Healthtech
    • Tootmine
    • Logistika
    • Autotööstus
    • IOT
  • Väärtus
    • CEO
    • CTO
    • Tarnejuht
  • Meie meeskond
  • Case Studies
  • Tea kuidas
    • Blogi
    • Kohtumised
    • Veebiseminarid
    • Ressursid
Karjäärivõimalused Võtke ühendust
  • Meie kohta
  • Teenused
    • Tarkvaraarendus
      • Frontend arendus
      • Backend arendus
    • Staff Augmentation
      • Frontend arendajad
      • Backend arendajad
      • Andmeinsenerid
      • Pilveinsenerid
      • QA insenerid
      • Muud
    • See nõuandev
      • Audit ja nõustamine
  • Väärtus
    • CEO
    • CTO
    • Tarnejuht
  • Meie meeskond
  • Case Studies
  • Tea kuidas
    • Blogi
    • Kohtumised
    • Veebiseminarid
    • Ressursid
Karjäärivõimalused Võtke ühendust
Tagasi nool TAGASI
2019-11-25
Tarkvaraarendus

Kolm kasulikku punkti - ülejäänud ja levik JavaScript-s.

Lukasz Kolko

ECMAScript 2015 tõi meile palju uudiseid, mille tulemuseks oli suur hulk parandusi. Täna vaatame lähemalt kahte funktsiooni, mis muudavad elu lihtsamaks. Tutvuge puhkuseparameetriga ja leviku süntaksiga.

Ülejäänud parameetrid

Ülejäänud süntaks võimaldab meil esitada määramata arvu argumente massiivi kujul. Vaadake funktsiooni, mis liidab kõik üleantud argumendid kokku.

const sum = (...args) => args.reduce((prev, current) => prev + current);

console.log(sum(1, 2)); // 3
console.log(sum(1, 2, 3)); // 6

Laiendatud süntaks

Operaator spread võimaldab meil laiendada iteratiivseid objekte üksikuteks elementideks. See funktsionaalsus on vastupidine sellele, mida saavutasime ülejäänud parameetritega. Seda saab rakendada kõigi iteratiivsete objektide, näiteks massiivid, objektid, komplektid, kaardid jne. suhtes.

const sum = (x, y, z) => x + y + z;
const numbers = [1, 2, 3];

console.log(summa(...arvud)); // 6

Kolm punkti reaalsetes kasutusjuhtumites

Massiivide kopeerimine

Hajutatud süntaks läheb massiivi kopeerimisel sisuliselt ühe taseme võrra sügavamale. Üks tase tähendab, et kopeeritakse viited esimese taseme ulatuses.

const array0 = [1, [2, 3]];
const array1 = [...array0];

console.log(array1); // [1, [2, 3]]

Ainulaadsete elementide massiivi loomine

Looge kogum, mis salvestab ainult unikaalseid elemente, ja teisendage see tagasi massiivi.

const array = [1, 1, 2, 3];
const uniqueElements = [...new Set(array)];

console.log(uniqueElements); // [1, 2, 3]

Massiivide ühendamine

const array0 = [1, 2];
const array1 = [3, 4];
const concated = [...array0, ...array1];

console.log(concated); // [1, 2, 3, 4]

Massiivi viilutamine

const [firstElement, ...newArray] = [1, 2, 3, 4];

console.log(firstElement); // 1
console.log(newArray); // [2, 3, 4]

Samuti saame eemaldada n esimesed elemendid komaga.

const [, , , ...newArray] = [1, 2, 3, 4];

console.log(newArray); // [4]

Massiivi sisestamine teise massiivi algusesse

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

console.log(newArray); // [ 1, 2, 3, 4, 5, 6 ]

Numbrite massiivi genereerimine vahemikus 0 kuni n

const array = [...Array(10)].map((_, i) => i);

console.log(array); // [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]

Objekti destruktureerimine

const { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };

console.log(x); // 1
console.log(y); // 2
console.log(z); // { a: 3, b: 4 }

Objekti koopia loomine

let person = {
  nimi: 'John',
  vanus: 25,
  rahakott: {
    sum: 500,
    currency: 'USD'
  }
};
let personCopy = { ...person };

console.log(personCopy);
// {
// nimi: 'John',
// vanus: 25,
// rahakott: {
// summa: 500,
// valuuta: 'USD'
// }
// }

Pange tähele, et loodud objekti koopia on uus objekt, millel on kõik algse objekti omadused, kuid mitte ükski prototüübiinfo.

person.age = 20;

console.log(person.age); // 20
console.log(personCopy.age); // 25

Pange tähele, et leviku süntaks loob objekti "pinnapealse" koopia, nii et "rahakoti" omadus kopeeritakse ainult viidetena algsele alamobjektile. Sügavaks kloonimiseks võite kasutada JSON stringify/parse lähenemist või Lodashi poolt pakutavat meetodit 'cloneDeep' sõltuvalt teie objekti keerukusest. Mõnel juhul võib ka see meetod olla kasulik:

lase personCopy = { ...person, wallet = {...person.wallet}}; 

Objektile omaduste tingimuslik lisamine

Me saame tingimuslikult lisada omadusi uuele objektile, mida me loome, kasutades levikuoperaatorit koos lühiajalise hindamisega.

const colors = {
  red: #ff0000',
  roheline: '#00ff00',
  blue: '#0000ff'
};
const black = {
  black: '#000000'
};

let extraBlack = false;
let conditionalMerge = {
  ...colors,
  ...(extraBlack ? must : {})
};

console.log(conditionalMerge);
// {
// red: #ff0000',
// roheline: '#00ff00',
// sinine: '#0000ff'
// }

extraBlack = true;
conditionalMerge = {
  ...colors,
  ...(extraBlack ? black : {})
};

console.log(conditionalMerge);
// {
// red: #ff0000',
// roheline: '#00ff00',
// sinine: '#0000ff'
// must: '#000000' // must: '#000000'
// }

Stringi jagamine tähemärkideks

See on sarnane meetodi split kutsumisega, mille parameetriks on tühi string.

const split = [...'qwerty'];
console.log(split); // [ 'q', 'w', 'e', 'r', 't', 'y' ]

Digitaalse tootearenduse nõustamine

Loe edasi:

3 ühist väljakutset tarkvara tootearenduse alustavatele ettevõtetele

Parim projektitüüp Java jaoks

Kuidas mitte tappa projekti halbade kodeerimistavadega?

Seotud artiklid

Tarkvaraarendus

Tulevikukindlate veebirakenduste loomine: The Codest ekspertide meeskonna ülevaade

Avastage, kuidas The Codest paistab skaleeritavate, interaktiivsete veebirakenduste loomisel silma tipptehnoloogiatega, mis pakuvad sujuvat kasutajakogemust kõigil platvormidel. Saate teada, kuidas meie eksperditeadmised aitavad kaasa digitaalsele ümberkujundamisele ja äritegevusele...

THECODEST
Tarkvaraarendus

Top 10 Lätis asuvat tarkvaraarendusettevõtet

Tutvu Läti parimate tarkvaraarendusettevõtete ja nende innovaatiliste lahendustega meie viimases artiklis. Avastage, kuidas need tehnoloogiajuhid saavad aidata teie äri edendada.

thecodest
Enterprise & Scaleups lahendused

Java tarkvaraarenduse põhitõed: A Guide to Outsourcing Successfully

Tutvuge selle olulise juhendiga, kuidas edukalt outsourcing Java tarkvara arendada, et suurendada tõhusust, pääseda ligi eksperditeadmistele ja edendada projekti edu The Codest abil.

thecodest
Tarkvaraarendus

Ülim juhend Poola allhanke kohta

outsourcing kasv Poolas on tingitud majanduslikust, hariduslikust ja tehnoloogilisest arengust, mis soodustab IT kasvu ja ettevõtlussõbralikku kliimat.

TheCodest
Enterprise & Scaleups lahendused

Täielik juhend IT-auditi vahendite ja tehnikate kohta

IT-auditid tagavad turvalised, tõhusad ja nõuetele vastavad süsteemid. Lisateavet nende tähtsuse kohta leiate kogu artiklist.

The Codest
Jakub Jakubowicz CTO & kaasasutajad

Tellige meie teadmistebaas ja jääge kursis IT-sektori eksperditeadmistega.

    Meie kohta

    The Codest - rahvusvaheline tarkvaraarendusettevõte, mille tehnoloogiakeskused asuvad Poolas.

    Ühendkuningriik - peakorter

    • Büroo 303B, 182-184 High Street North E6 2JA
      London, Inglismaa

    Poola - kohalikud tehnoloogiakeskused

    • Fabryczna büroopark, Aleja
      Pokoju 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Varssavi, Poola

      The Codest

    • Kodu
    • Meie kohta
    • Teenused
    • Case Studies
    • Tea kuidas
    • Karjäärivõimalused
    • Sõnastik

      Teenused

    • See nõuandev
    • Tarkvaraarendus
    • Backend arendus
    • Frontend arendus
    • Staff Augmentation
    • Backend arendajad
    • Pilveinsenerid
    • Andmeinsenerid
    • Muud
    • QA insenerid

      Ressursid

    • Faktid ja müüdid koostööst välise tarkvaraarenduspartneriga
    • USAst Euroopasse: Miks otsustavad Ameerika idufirmad Euroopasse ümber asuda?
    • Tech Offshore arenduskeskuste võrdlus: Euroopa (Poola), ASEAN (Filipiinid), Euraasia (Türgi).
    • Millised on CTO ja CIOde peamised väljakutsed?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Copyright © 2025 by The Codest. Kõik õigused kaitstud.

    etEstonian
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch elGreek etEstonian