javascript里绝对用的上的字符分割函数总结


Posted in Javascript onJuly 31, 2014
var data = [['your name', 'myvalue'], ['myr name', 'thivalue']];

function string_join(data) {
  var str = '', arr = [];
  for (var i = 0; i < data.length; i++) {
   for (var j = 0; j < data[i].length; j++) {
    data[i][j] = slash(data[i][j]);
   }
   arr.push(data[i].join('/'));
  }
  return arr.join(',');
}

function slash(string) {
 return String(string).replace(/[\\/,]/g, '\\$&');
}

function string_split(string) {
 var c,
   cur_str = '',
   cache = [],
   result = [];
 for (var i = 0; i < string.length; i++) {
  c = string.charAt(i);
  switch(c) {
   case '\\':
    cur_str += string.charAt(++i);
    break;
   case '/':
    cache.push(cur_str);
    cur_str = '';
    break;
   case ',':
    cache.push(cur_str);
    cur_str = '';
    result.push(cache);
    cache = [];
    break;
   default:
    cur_str += c;
  }
 }

 if (cur_str.length) {
  cache.push(cur_str);
 }

 if (cache.length) {
  result.push(cache);
 }

 return result;
}

var before = string_join(data);
console.log(before);
var after = string_split(before);
console.log(after);
Javascript 相关文章推荐
无缝滚动改进版支持上下左右滚动(封装成函数)
Dec 04 Javascript
jquery mobile实现拨打电话功能的几种方法
Aug 05 Javascript
jquery实现图片左右切换的方法
May 07 Javascript
js检测iframe是否加载完成的方法
Nov 26 Javascript
详解JavaScript中基于原型prototype的继承特性
May 05 Javascript
jQuery实现弹幕效果
Feb 17 Javascript
你有必要知道的10个JavaScript难点
Jul 25 Javascript
浅谈vue路径优化之resolve
Oct 13 Javascript
微信小程序Getuserinfo解决方案图解
Aug 24 Javascript
layui实现三级导航菜单
Jul 26 Javascript
微信小程序通过js实现瀑布流布局详解
Aug 28 Javascript
解决vue页面渲染但dom没渲染的操作
Jul 27 Javascript
超链接的禁用属性Disabled使用示例
Jul 31 #Javascript
Windows 系统下安装和部署Egret的开发环境
Jul 31 #Javascript
js锁屏解屏通过对$.ajax进行封装实现
Jul 31 #Javascript
javascript函数中参数传递问题示例探讨
Jul 31 #Javascript
JavaScript数值转换的三种方式总结
Jul 31 #Javascript
new Date()问题在ie8下面的处理方法
Jul 31 #Javascript
JS数组的遍历方式for循环与for...in
Jul 31 #Javascript
You might like
THINKPHP2.0到3.0有哪些改进之处
2015/01/04 PHP
php生成微信红包数组的方法
2019/09/05 PHP
XmlUtils JS操作XML工具类
2009/10/01 Javascript
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
2011/10/16 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
2013/01/24 Javascript
jQuery+css+html实现页面遮罩弹出框
2013/03/21 Javascript
利用毫秒减值计算时长的js代码
2013/09/22 Javascript
javascript弹出窗口中增加确定取消按钮
2016/06/24 Javascript
解决bootstrap导航栏navbar在IE8上存在缺陷的方法
2016/07/01 Javascript
Javascript中的 “&amp;” 和 “|” 详解
2017/02/02 Javascript
Vue实现自带的过滤器实例
2017/03/09 Javascript
Angular.js 4.x中表单Template-Driven Forms详解
2017/04/25 Javascript
Vue多系统切换实现方案
2018/06/05 Javascript
vue打包相关细节整理(小结)
2018/09/28 Javascript
vue-cli3 项目从搭建优化到docker部署的方法
2019/01/28 Javascript
微信小程序textarea层级过高的解决方法
2019/03/04 Javascript
ES6学习笔记之let与const用法实例分析
2020/01/22 Javascript
vue项目配置使用flow类型检查的步骤
2020/03/18 Javascript
wxPython窗口中文乱码解决方法
2014/10/11 Python
windows下安装Python的XlsxWriter模块方法
2018/05/03 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
2019/01/23 Python
Django实现简单网页弹出警告代码
2019/11/15 Python
如何表示python中的相对路径
2020/07/08 Python
Python+OpenCV图像处理——实现直线检测
2020/10/23 Python
波兰运动鞋网上商店:e-Sporting
2018/02/16 全球购物
Chi Chi London官网:购买连衣裙和礼服
2020/10/25 全球购物
国际贸易专业推荐信
2013/11/15 职场文书
国际贸易专业个人求职信范文分享
2013/12/14 职场文书
创业计划书如何编写
2014/02/06 职场文书
入党积极分子自我鉴定
2014/02/18 职场文书
营销总监岗位职责范本
2014/02/26 职场文书
党支部群众路线整改措施思想汇报
2014/10/10 职场文书
《将心比心》教学反思
2016/02/23 职场文书
Spark SQL 2.4.8 操作 Dataframe的两种方式
2021/10/16 SQL Server
nginx从安装到配置详细说明(安装,安全配置,防盗链,动静分离,配置 HTTPS,性能优化)
2022/02/12 Servers
向Spring IOC 容器动态注册bean实现方式
2022/07/15 Java/Android