【发布时间】:2011-04-01 03:31:18
【问题描述】:
我想知道标准 JS 是否提供了一种在初始声明期间将字符串直接拆分为一组变量的方法。例如在 Perl 中我会使用:
my ($a, $b, $c) = split '-', $str;
在 Firefox 中我可以写
var [a, b, c] = str.split('-');
但是这种语法不是 ECMAScript 第 5 版的一部分,因此在所有其他浏览器中都会中断。我想要做的是避免写:
var array = str.split('-');
var a = array[0];
var b = array[1];
var c = array[2];
因为对于我目前正在编写的代码来说,这样的方法会很痛苦,我从 7 个不同的拆分中创建了 20 个变量,并且不想使用这种冗长的方法。
有人知道这样做的优雅方法吗?
【问题讨论】:
-
为什么需要将这些转储到
var对象中?这里的结局是什么? -
它是用于管理我们校园现场活动的小型数据库的网络表单的一部分。为了向用户展示他们的数据在格式化后的外观,我们直接从表单字段中获取信息(使用 jquery)并生成少量 HTML。为了正确格式化日期范围和其他一些信息,将其存储在命名变量中比尝试使用 $('input[name=start_date]') 之类的东西来梳理出正确的值要方便得多。 val().split('')。见pastie.org/1102123
标签: javascript string destructuring