我有一个需要解压缩的数组。
所以,从
这样的东西var params = new Array();
params.push("var1");
params.push("var2");
我需要像
这样的东西“var1”,“var2”。
我尝试使用eval,但是eval()给了我类似var1,var2 ...我不想自己插入引号,因为传递的vars可以是整数或其他类型。我需要将它传递给一个函数,这就是为什么我不能只遍历数组并将其推入一个字符串。
这里的首选解决方案是什么?
答案 0 :(得分:7)
如果要将一组值传递给填充形式参数的函数,则可以使用函数原型的apply
方法。
var arr = [1, 2, "three"];
function myFunc(a, b, c) {
// a = 1, b = 2, c = "three"
...
}
myFunc.apply(this, arr);
顺便说一下,最后一个语句中的this
参数可以设置为任何对象,以设置this
内的myFunc
的值
答案 1 :(得分:0)
这会生成您想要的输出
var params = new Array();
params.push("var1");
params.push("var2");
var s = "\"" + params.join("\",\"") + "\"";