⊗jsSpItSpr 73 of 294 menu

Оператор spread и итератори в JavaScript

Операторът spread разлага всеки обект, който има итератор. При това ще се взема итераторът по подразбиране. Да разгледаме пример. Нека имаме следната колекция Map:

let map = new Map(); map.set('a', 1); map.set('b', 2); map.set('c', 3);

По подразбиране при разлагане ще се получи двумерен масив:

let arr = [...map]; console.log(arr); // [['a', 1], ['b', 2], ['c', 3]]

За получаване на масив от ключове разлагаме съответния итератор:

let arr = [...map.keys()]; console.log(arr); // ['a', 'b', 'c']

Аналогично постъпваме за получаване на масив от стойности:

let arr = [...map.values()]; console.log(arr); // [1, 2, 3]

Разложете със spread следния обект:

let obj = { a: 1, b: 2, c: 3, [Symbol.iterator]: function *(){ for (let key in this){ yield this[key]; } } };
Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне