我想知道标准 JS 是否提供了一种在初始声明期间将字符串直接拆分为一组变量的方法。例如在 Perl 中我会使用:
my ($a, $b, $c) = split '-', $str;
在 Firefox 中我可以写
var [a, b, c] = str.split('-');
但此语法不是 ECMAScript 第五版的一部分,因此在所有其他浏览器中都会中断。我想做的是避免写:
var array = str.split('-');
var a = array[0];
var b = array[1];
var c = array[2];
因为对于我目前正在编写的代码来说,这样的方法会非常痛苦,所以我从 7 个不同的分割创建 20 个变量,并且不想使用如此冗长的方法。
有谁知道一种优雅的方法来做到这一点?
你只能这么做slightly更优雅地省略var每个变量的关键字并用逗号分隔表达式:
var array = str.split('-'),
a = array[0], b = array[1], c = array[2];
ES6 标准化了解构赋值,这使您可以执行 Firefox 长期以来支持的操作:
var [a, b, c] = str.split('-');
您可以使用 Kangax 检查浏览器支持情况兼容性表 http://kangax.github.io/compat-table/es6/#destructuring.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)