Это простая проблема, и я уже делал это раньше. Я просто не могу вспомнить, как и как именно это называлось.
В python я могу сделать это:
arr = ['one', 'two']
one, two = arr
как мне это сделать в JavaScript?
javascript
arrays
Карсон Майерс
источник
источник
Это деструктурирующее задание . Вы можете сделать это в некоторых браузерах со следующим синтаксисом:
Он поддерживается некоторыми последними браузерами и транспиляторами, такими как Babel и Traceur . Это была функция, представленная в ECMAScript 4, который позже стал ECMAScript Harmony, который в конечном итоге стал ES 2015.
источник
Вопрос довольно старый, но мне нравится публиковать это альтернативное (2016 г.) решение: можно также использовать оператор распространения «...».
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator
let xAndY = [42, 1337]; let f = function(x, y) { return x + y; }; f(...xAndY);
источник
Вы можете использовать функцию применения массива, если хотите, чтобы элементы массива передавались в качестве аргументов функции.
источник
Array
есть.apply()
функция. Я думаю, вы имели в видуsome_function.apply(this, my_array)
. Смотрите этот ответРеализация серьезной задумки.
http://jsfiddle.net/RichAyotte/6D2wP/
(function(a, b, c, d) { console.log(a, b, c, d); }.apply(this, ['a', 'b', 'c', 'd']));
источник
var one = arr[0]; var two = arr[1];
источник
var
чтобы переменные не загрязняли глобальную область видимости.var
s для каждой области за один раз, чем иметь два отдельныхvar
объявления.В CoffeeScript он есть: http://jashkenas.github.com/coffee-script/#pattern_matching
И, цитируется вверху страницы:
«CoffeeScript - это небольшой язык, который компилируется в JavaScript. Думайте о нем как о менее показном младшем брате JavaScript - те же гены, примерно такой же рост, но другое чувство стиля. Помимо нескольких бонусных вкусностей, утверждения в CoffeeScript соответствуют одному -to-one с их эквивалентом в JavaScript, это просто другой способ сказать это ".
источник