以下是该情景:
我有6个字符串可用,有一些特殊的字符
我将这6个字符串分配给这样的数组:
arr=[str1,str2,str3.....);
arr=escape(arr);
因为某些字符串变量有特殊的字符
之后,我将此arr
发送到其他功能
然后在其他功能中回忆这个:
var newarr=unescape(arr);
现在我想从这个 new arr 中获取所有六个变量我该怎么做?
目前我正在使用拆分功能
喜欢:.split(',');
但问题是,在某些变量中我内部有,
,并且它被分割了两次,我不希望这样。
我有三个变量
img='/cardfinderservice/services/imageservice/?cardVersionId=16682&';
desc= '5% Cash Back on up to $1,500 spent at grocery stores and movie theatres from 4/1/12-6/30/12<br />';
details='Unlimited 1% Cash Back on all other purchases<br />Up to an additional 10% Cash Back when you shop online at select merchants through Chase<br />No annual fee and rewards never expire</p>';
Var arr=[img,desc,details];
arr=escape(arr);
loadabc(arr);
function loadabc(arr){
var newarr=unescape(arr);
newarr=newarr.split(',');
}
答案 0 :(得分:0)
<强> jsFiddle demo 强>
var arr=[img,desc,details].join('|||'); // join with something special :)
arr=escape(arr);
loadabc(arr);
function loadabc(arr){
var newarr=unescape(arr);
newarr=newarr.split('|||'); // instead of comma split by |||
alert(newarr[1]); // test tricky one holding a comma
}
答案 1 :(得分:0)
让我们停止尝试用非传统的策略解决他的问题。显然,没有必要转义数组,将其传递给函数,并且不需要它。这很糟糕。
如果您不在字符串中使用单引号,则无需转义
控制台日志对我来说很好看!