我有以下字符串
output_string = "[10, 10, [1,2,3,4,5], [10,20,30,40,50]]"
Run Code Online (Sandbox Code Playgroud)
然后,我JSON.parse就
my_args = JSON.parse(output_string)
Run Code Online (Sandbox Code Playgroud)
我如何以类似Python的方式解压缩它,以便每个元素my_args成为JavaScript函数的参数?
some_javascript_function(*my_args)
// should be equivalent to:
some_javascript_function(my_args[0],my_args[1],my_args[2],my_args[3])
// or:
some_javascript_function(10, 10, [1,2,3,4,5], [10,20,30,40,50])
Run Code Online (Sandbox Code Playgroud)
是否有一个核心的JavaScript成语呢?
我想知道标准JS是否提供了一种在初始声明期间将字符串直接拆分为一组变量的方法.例如在perl中我会使用:
my ($a, $b, $c) = split '-', $str;
Run Code Online (Sandbox Code Playgroud)
在Firefox中,我可以写
var [a, b, c] = str.split('-');
Run Code Online (Sandbox Code Playgroud)
但是这种语法不是ECMA标准的一部分,因此在所有其他浏览器中都会出现这种情况.我要做的是避免写:
var array = str.split('-');
var a = array[0];
var b = array[1];
var c = array[2];
Run Code Online (Sandbox Code Playgroud)
因为对于我正在编写的代码,这样的方法将是一个真正的痛苦,我正在从7个不同的分裂中创建20个变量,并且不希望必须使用这样的详细方法.
有谁知道这样做的优雅方式?
在我工作的一些项目中,添加了一些具有以下语法的块:
var [code, name] = input.split("/");
console.log(code);
console.log(name);
Run Code Online (Sandbox Code Playgroud)
我真的很喜欢这个,这么简单小.我可以使用其他语法执行此操作,例如:
var code_name = input.split("/");
console.log(code_name[0]);
console.log(code_name[1]);
Run Code Online (Sandbox Code Playgroud)
但是,像谷歌Chrome和Opera这样的浏览器不支持这个"功能".有人知道这是JS的未来特性还是已被弃用?如果弃用,存在一些比第一种情况更好的替代方案?
谢谢大家.