开发者

Using eval() in Javascript to unpack the array

I have an array that I need to unpack.

So, from something like

var params = new Array();
params.push("var1");
params.push("var2");

I need to开发者_运维问答 have something like

"var1", "var2".

I tried using eval, but eval() gives me something like var1, var2...i don't want to insert quotes myself as the vars passed can be integers, or other types. I need to pass this to a function, so that's why i can't just traverse the array and shove it into a string.

What is the preferred solution here?


If you have an array of values that you want to pass to a function filling the formal parameters then you can use the apply method of the Function prototype.

var arr = [1, 2, "three"];

function myFunc(a, b, c) {
   // a = 1, b = 2, c = "three"
   ...
}

myFunc.apply(this, arr);

By the way, the this parameter in the last statement can be set to any object to set the value of this inside myFunc


This generates the output you want

var params = new Array();
params.push("var1");
params.push("var2");

var s = "\"" + params.join("\",\"") + "\"";
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜