当分割字符存在于字符串中时分割功能

时间:2012-09-12 05:21:52

标签: javascript jquery

以下是该情景:
我有6个字符串可用,有一些特殊的字符 我将这6个字符串分配给这样的数组:

arr=[str1,str2,str3.....);
arr=escape(arr);

因为某些字符串变量有特殊的字符 之后,我将此arr发送到其他功能 然后在其他功能中回忆这个:
var newarr=unescape(arr);
现在我想从这个 new arr 中获取所有六个变量我该怎么做? 目前我正在使用拆分功能 喜欢:.split(',');

但问题是,在某些变量中我内部有,,并且它被分割了两次,我不希望这样。

我有三个变量

img='/cardfinderservice/services/imageservice/?cardVersionId=16682&amp';

desc= '5% Cash Back on up to $1,500 spent at grocery stores and movie theatres from 4/1/12-6/30/12<br /&gt';

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&gt';

Var arr=[img,desc,details];   
arr=escape(arr);   
loadabc(arr);   
function loadabc(arr){    
    var newarr=unescape(arr);   
    newarr=newarr.split(',');   
}

2 个答案:

答案 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)

让我们停止尝试用非传统的策略解决他的问题。显然,没有必要转义数组,将其传递给函数,并且不需要它。这很糟糕。

如果您不在字符串中使用单引号,则无需转义

http://jsfiddle.net/n6haN/

控制台日志对我来说很好看!