Описание тега destructuring

"Деструктуризация позволяет вам привязать набор переменных к соответствующему набору значений в любом месте, где вы обычно можете привязать значение к одной переменной" ("Common Lisp the Language").
2 ответа

let формы: как получить доступ к деструктурированным символам в макросе?

Я пытаюсь написать макрос, который расширяется до формы let с деструктуризацией. Моя проблема в том, что я хотел бы иметь список символов, которые определены в форме let, включая те, которые получены путем разрушения. Случай использования Я пытаюсь …
22 апр '14 в 10:17
2 ответа

Как я могу оптимизировать метод.concat в es6

Как я могу оптимизировать метод.contact с функциями ES6. Моя линия работает хорошо, но я изучаю ES6, и я хотел бы получить хороший пример для написания этого кода с некоторыми функциями es6. (Разрушение или другой крутой способ) Спасибо линию нужно …
1 ответ

Получить последний аргумент функции в машинописи

Я пытаюсь деструктурировать аргументы функции, которая заботится только о последнем переданном параметре, привязывая его значение к переменной next; Следующее работает нормально в простой JS, узел 10: > function f(...{length, [length - 1]: next})…
07 сен '18 в 19:43
4 ответа

Деструктуризация в лямбда-функции возвращает неожиданное значение

Правильное, ожидаемое значение возвращается, когда функция используется с деструктуризацией: [{"k":"key1","v":"val1"},{"k":"key2","v":"val2"},{"k":"key3","v":"val3"}] console.log(JSON.stringify([{ k: 'key1', v: 'val1', z: 'z1' }, { k: 'key2', v: 'va…
13 июн '17 в 20:43
12 ответов

Переменные JavaScript-назначения из кортежей

В других языках, таких как Python 2 и Python 3, вы можете определять и присваивать значения переменной кортежа, а также получать их значения следующим образом: tuple = ("Bob", 24) name, age = tuple print(name) #name evaluates to Bob print(age) #age …
22 дек '10 в 18:31
1 ответ

Создание коллекции нескольких значений одинаковой глубины во вложенной хэш-карте

Вот гипотетический хэш-файл с именем args: {:body {:milestones [{:status 1 :otherValues x} {:status 2 :otherValues z} {:status 1 :otherValues y]}} Моя цель - иметь коллекцию значений для каждого: статусный ключ. Они все на одной глубине, являясь дит…
05 июн '14 в 23:18
2 ответа

Как использовать разрушение в JavaScript - во вспомогательной функции, которая будет передана компоненту React?

У меня есть этот компонент, который принимает идентификатор в качестве атрибута: <TeamLogo id={team.id} className="center" /> Как вы можете видеть, это свойство привязано к объекту. Итак, что я придумал: /* helper function */ function TeamIdCh…
08 окт '18 в 20:51
4 ответа

Угловая деструктуризация машинописи не работает должным образом

Desctruturing не работает при использовании этого. синтаксис {this.firstName, this.lastName} = this.data; this.data имеет значение {firstName: 'joe', lastName: 'smith'} но после присвоения значения this.firstName и this.lastName все еще имеет значен…
4 ответа

ES6 деструктуризация в декларации возврата

Можно ли разрушить объект при его возврате в одно и то же время? Например, чтобы изменить этот код: const mapStateToProps = ({ newItem }) =>{ const { id, name, price } = newItem; return { id, name, price }; } Чтобы что-то вроде этого: const mapSt…
22 янв '17 в 17:37
1 ответ

Распаковывать аргумент массива напрямую в параметры?

Я знаю, что я могу сделать это: function (value: [boolean, string]) { const [boolValue, stringValue] = value; // make use of boolValue and stringValue } Но могу ли я сделать что-то подобное? // doesn't work function ([boolValue: boolean, stringValue…
13 окт '16 в 19:15
2 ответа

Сокращение объекта / массива в coffeescript?

У CoffeeScript есть много полезных сокращений относительно массивов и объектов с пониманием и деструктуризацией. Есть ли быстрый способ сравнения целых объектов или нескольких их свойств? т.е. activity.date () - selected.date(), а activity.month () …
1 ответ

Почему этот JavaScript не интерпретируется как блок кода при использовании точки с запятой?

В Chrome версия ^72 если я запускаю следующее JavaScript нет ошибок. { prop: p } = { prop: 'prop' } >> { prop: 'prop' } Таким образом, строка кода неожиданно интерпретируется как выражение выражения. Но если я запускаю тот же код с точкой с за…
2 ответа

Babel ES6 Class с деструктурированными параметрами по умолчанию не определены

У меня есть класс ES6 с параметрами по умолчанию, например, так: constructor({ // defaults defaultOne = 'default value one', defaultTwo = ['default','value','two], defaultThree = 'default value three, }) { this.defaultOne = defaultOne this.defaultTw…
23 май '16 в 02:07
0 ответов

Как уничтожить исключение в python3?

Этот код: try: raise ValueError(1,2,3) except ValueError as (a,b,c): print("a=%s, b=%s, c=%s" % (a,b,c)) печать a=1, b=2, c=3 в Python 2, но поднимает SyntaxError в Python 3: except ValueError as (a,b,c): ^ SyntaxError: invalid syntax Как я могу дес…
11 май '18 в 19:24
1 ответ

Могу ли я использовать деструктуризацию как-то внутри оператора if?

Есть ли способ, которым я мог бы сделать что-то подобное? if({color, size, shape} = this.props){ console.log('Received all props!'); } else { console.log('There are some missing props'); } Я хочу знать, получил ли я все необходимые данные через рекв…
1 ответ

Разрушение от аргументов функции

Я передаю один аргумент функциональному компоненту реакции. Что мне нужно, так это уничтожить классы из реквизита, но оставить реквизиты нетронутыми, чтобы я мог ссылаться на реквизит, как props.title внутри компонента, но используйте классы без зап…
11 июн '18 в 14:36
2 ответа

Как я могу игнорировать определенные возвращаемые значения от деструктуризации массива?

Можно ли избежать объявления бесполезной переменной при деструктуризации массива, когда меня интересуют только значения массива, превышающие индекс 0? В дальнейшем я хочу избежать объявления a Меня интересует только индекс 1 и далее. // How can I av…
16 окт '17 в 16:40
1 ответ

Могу ли я деструктурировать (извлечь из шаблона) список Scala в повторно используемый var?

У меня есть список Scala. Я могу разложить список на несколько переменных таким образом: var a :: b :: tail = myList a should be ("A1") b should be ("B1") tail should be ('empty) Тем не менее, я не могу использовать те же переменные для другой дестр…
15 апр '14 в 12:10
3 ответа

Почему я не могу пропустить назначения параметров в сигнатуре функции?

С деструктуризацией массива можно отбрасывать ведущие элементы, вставляя запятые без предшествующей ссылки: const [ , two ] = [ 1, 2 ] То же самое не относится к сигнатурам функций - следующий код не будет проанализирован, потому что начальная запят…
14 май '16 в 16:14
0 ответов

Ошибка аннотации с Babel и деструктуризация

Странная ошибка при переносе на ES6 с Бабелем, ng-annotate не любит разрушения. Я скопировал мой источник в онлайн-компилятор Babel, и он работает нормально. Комментируя ng-annotate в моей глоточной трубе цепь избавляется от ошибки. Удаление /* @ngA…