最近项目中进行了较多或者大量的字符串拼接,一直影响和困扰着软件的正常速度运行。也就是说,某些模块速度越来越慢,为了解决这个不是问题的头疼问题,想尽了一切办法 ,现在把字符串拼接的函数实现如下 ,但不感觉这是最完美的解决方案,这种办法,如果,字符串中“:”多个,它只能读到第二个。
尽管不完美,但还是起到了缓解速度慢的情况。。。遇到好的处理办法,再更新处理办法 ?!!!
function dataToArray(str) //接收的字符串转成数组,返回数组
{
var sumjilu=new Array();
str=str.substring(2,str.length-2);
sumjilu=str.split("},{");
return sumjilu;
}
function GetJilu(str,i) //获取某条记录 返回字符串
{
// alert(dataToArray(str)[i]);
return dataToArray(str)[i];
}
function GetZiduan(jilustr,mc) // 获取某条记录 某个字段的值
{
jilustr=","+jilustr+","; //因为最后必须",结束
var start_wz=jilustr.indexOf(','+mc+':');
var temp_str=jilustr.substring(start_wz+mc.length+1,jilustr.length);
var end_wz=temp_str.indexOf('/",');
var temp_jiguo_str=temp_str.substring(2,end_wz);
return temp_jiguo_str;
}
function StringBuffer() {
this.__strings__ = new Array;
}
StringBuffer.prototype.append = function (str) {
this.__strings__.push(str);
};
StringBuffer.prototype.toString = function () {
return this.__strings__.join("");
};
json数组的效率经过测试没有上面的串接速度快。。。前提是字符串在百K以上。