在变量中使用逗号?

时间:2011-11-01 14:23:58

标签: javascript jquery

有没有办法转换它:

$('#id').testfunction({
  'source' : [
    {'source':'pathimage.jpg','title':'Title 1','description':'This is a description 1.'},
    {'source':'pathimage.jpg','title':'Title 2','description':'This is a description 2.'},
    {'source':'pathimage.jpg','title':'Title 3','description':'This is a description 3.'},
    {'source':'pathimage.jpg','title':'Title 4','description':'This is a description 4.'},
    {'source':'pathimage.jpg','title':'Title 5','description':'This is a description 5.'}
  ]
});

简单动态输出:

$('#id').testfunction({
  'source':[
    $SOURCE
  ]
});

我正在将源推入数组并尝试将其再次构建到$SOURCE中。 $SOURCE最终应该是这样的:

$SOURCE = myArray[0], myArray[1], myArray[2], myArray[3], myArray[4];

但它的逗号内容会阻止变量工作。我无法将逗号输入变量。使用+ "," +无效,因为它将其识别为字符串...

$SOURCE += myArray[s],;

有没有办法将其转换为工作变量以动态使用?

3 个答案:

答案 0 :(得分:0)

不,因为如果$SOURCE是一个数组,那么你将为source参数的第一个元素分配一个数组;并且$SOURCE不能以您期望的方式表示数组。

没有合法的构造可以用逗号连接变量。

答案 1 :(得分:0)

您希望将一个数组中的某些值放入另一个数组中。这应该有效,但对我来说似乎有些愚蠢(或者你可以循环浏览myArray,或者你可以说$SOURCE = myArray):

$SOURCE = [];
$SOURCE.push(myArray[0]);
$SOURCE.push(myArray[1]);
$SOURCE.push(myArray[2]); 
$SOURCE.push(myArray[3]); 
$SOURCE.push(myArray[4]);

答案 2 :(得分:-1)

您正在寻找的东西称为preprocessor macro。它们不存在于javascript中。