Files
freeCodeCamp/guide/russian/javascript/standard-objects/array/array-destructuring/index.md
2018-10-16 21:32:40 +05:30

3.8 KiB
Raw Blame History

title, localeTitle
title localeTitle
Array Destructuring Разрушение массива

Разрушение массива

Деструктурирование - удобный способ извлечения нескольких значений из данных, хранящихся в массивах. Он может использоваться в местах, которые получают данные (например, левую часть задания). Эта функция представлена ​​в ECMAScript 6 .

Как извлечь значения задается с помощью шаблонов (читайте далее для примеров).

Основное назначение переменных

var names = ['neel', 'meet', 'darshan']; 
 var [nameOne, nameTwo, nameThree] = names; 
 console.log(nameOne); // "neel" 
 console.log(nameTwo); // "meet" 
 console.log(nameThree); // "darshan" 

Назначение отдельно от декларации

Переменной может быть присвоено ее значение через деструктурирование отдельно от объявления переменной.

var a, b; 
 
 [a, b] = [1, 2]; 
 console.log(a); // 1 
 console.log(b); // 2 

Значения по умолчанию

Переменной может быть присвоено значение по умолчанию, в случае, если значение, распакованное из массива, не undefined .

var a, b; 
 
 [a=5, b=7] = [1]; 
 console.log(a); // 1 
 console.log(b); // 7 

Анализ массива, возвращаемого функцией

Всегда можно было возвращать массив из функции. Деструктурирование может сделать работу с возвращаемым значением массива более кратким.

В этом примере getNames() возвращает значения ['neel', 'meet'] качестве своего вывода, которые могут быть проанализированы в одной строке с деструктурированием.

function getNames() { 
  return ['neel', 'meet']; 
 } 
 
 var neel, meet; 
 [nameOne, nameTwo] = getNames(); 
 console.log(nameOne); // neel 
 console.log(nameTwo); // meet 

Игнорирование некоторых возвращаемых значений

Вы можете игнорировать возвращаемые значения, которые вам не интересны:

function getNames() { 
  return ['neel', 'meet', 'darshan']; 
 } 
 
 var [nameOne, , nameThree] = getNames(); 
 console.log(nameOne); // neel 
 console.log(nameThree); // darshan 

Вы также можете игнорировать все возвращаемые значения:

[,,] = getNames(); 

Присвоение остальной части массива переменной

При деструкции массива вы можете распаковать и назначить оставшуюся часть переменной переменной, используя шаблон rest:

var [a, ...b] = [1, 2, 3]; 
 console.log(a); // 1 
 console.log(b); // [2, 3] 

Обратите внимание, что SyntaxError будет SyntaxError , если задняя запятая используется с левой стороны с элементом отдыха:

var [a, ...b,] = [1, 2, 3]; 
 // SyntaxError: rest element may not have a trailing comma 

См. Также: Разрушение массива | MDN