JavaScript 中类似 Python 的解包
我有以下字符串
output_string = "[10, 10, [1,2,3,4,5], [10,20,30,40,50]]"
然后我 JSON.parse
它
my_args = JSON.parse(output_string)
如何以类似 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])
有没有一个核心 JavaScript 习惯可以做到这一点?
I have the following string
output_string = "[10, 10, [1,2,3,4,5], [10,20,30,40,50]]"
Then I JSON.parse
it
my_args = JSON.parse(output_string)
How do I unpack it in a Python-like way so that every element in my_args
becomes an argument to a JavaScript function?
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])
Is there a core JavaScript idiom that does that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
将函数参数收集到数组中后,您可以使用函数对象的
apply()
方法来调用预定义函数:第一个参数 (
this) 设置被调用函数的上下文。
Once you 've collected the function arguments in an array, you can use the
apply()
method of the function object to invoke your predefined function with it:The first parameter (
this
) sets the context of the invoked function.你可以通过这样做来实现这一点
some_javascript_function(...my_args)
这称为
spread
操作(就像Python中的unpacking
)。在此处查看文档 https://developer.mozilla.org/en/docs/Web/JavaScript /参考/运算符/Spread_operator
You can achieve that by doing this
some_javascript_function(...my_args)
This is called
spread
operation (asunpacking
is in python).view docs here https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Spread_operator
使用“...”解包
就像接受无限参数一样,您可以解包它们。
示例:在函数中接受无限的参数
它将成为一个列表
示例:将参数列表发送到函数中
发送参数
Unpack using "..."
The same way you accept unlimited args, you can unpack them.
Example: Accept unlimited arguments into a function
It will become a list
Example: Send list of arguments into a function
Send arguments