gpt4 book ai didi

javascript - 如何在不使用 eval 的情况下动态构造函数的参数?

转载 作者:行者123 更新时间:2023-12-01 01:41:32 26 4
gpt4 key购买 nike

鉴于此代码:

var arr = ['one', 'two'];
var obj = {
func: function(a, b) {
console.log(a, b);
}
};

有没有一种方法可以动态构造函数调用,将数组中的项作为参数传递,而不使用eval()?基本上,相当于:

eval('obj.func(' + arr.join(',') + ')');

最佳答案

您可以spread将数组放入参数列表中:

var arr = ['one', 'two'];
var obj = {
func: function(a, b) {
console.log(a, b);
}
};
obj.func(...arr);

或者,如果环境不支持扩展,您可以使用apply,它允许您使用提供的数组转换为参数来调用函数:

var arr = ['one', 'two'];
var obj = {
func: function(a, b) {
console.log(a, b);
}
};
obj.func.apply(undefined, arr);

关于javascript - 如何在不使用 eval 的情况下动态构造函数的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52350372/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com