0

我有以下代码...

<script type="text/javascript">

var arr= new Array('10');


arr[0]='Need For Guru';
arr[1]='Qualities of a Guru';
arr[2]='Living Guru';
arr[3]='Who is a Satguru?';
arr[4]='Guru and Spiritual master';
arr[5]='Definition of discipleship';
arr[6]='Power of Faith';
arr[7]='Bad mouthing a Guru';
arr[8]='Fake Guru Shishya';
arr[9]='Pitfalls in the path of liberation';


var text='['+arr[0]+',\''+arr[1]+'\','+arr[2]+',\''+arr[3]+'\','+arr[4]+',\''+arr[5]+'\','+arr[6]+',\''+arr[7]+'\','+arr[8]+',\''+arr[9]+'\']';
document.write(text);

activatables('section', text );

</script>

我的问题是我想将其用作 javascript 代码valuetext一部分 --- activatables('section', text );.. 使代码如下所示

    activatables('section', ['Need For Guru','Qualities of a Guru',...]);

但我不能做同样的事情......有人可以帮忙吗?

4

3 回答 3

1

我想我明白你在做什么......你想将数组序列化为文本,并将文本反序列化为一个新数组吗?

把它变成一个字符串...

var arr = ["Need for a Guru", "Qualities of a Guru" /*, etc... */ ];
var text = JSON.stringify(arr);

要将字符串转换为数组...

var text = '["Need for a Guru", "Qualities of a Guru"]';
var arr = JSON.parse(text);
activatables('section', arr);

显然,如果您已经可以访问源变量,则不需要反序列化/解析文本......您可以直接将其插入。

var arr = ["Need for a Guru", "Qualities of a Guru" /*, etc... */ ];
activatables('section', arr);
于 2012-12-12T14:14:15.507 回答
0

你为什么做这个?如果您想要数组的字符串表示形式,请使用:

JSON.stringify(arr);

可以使用以下方法作为参数传递:

activatables('section', JSON.stringify(arr) );

但是,在您的情况下,您似乎想将字符串section和数组本身作为参数传递给 function activatables。如果是这种情况,您需要做的就是:

activatables('section', arr );
于 2012-12-12T14:08:30.370 回答
0
activatables('section', ['Need For Guru','Qualities of a Guru',...]);

表示您将数组传递给activatables. 使用您当前的代码,您可以通过传递 来获得这种效果arr,这是您想要的数组:

activatables('section', arr);
于 2012-12-12T14:10:34.567 回答