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 相关文章推荐
用JS写的一个TableView控件代码
Jan 23 Javascript
用jQuery中的ajax分页实现代码
Sep 20 Javascript
jquery.cookie用法详细解析
Dec 18 Javascript
js表头排序实现方法
Jan 16 Javascript
js比较日期大小的方法
May 12 Javascript
在Javascript中处理字符串之big()方法的使用
Jun 08 Javascript
js实现可折叠展开的手风琴菜单效果
Sep 07 Javascript
Jquery修改image的src属性,图片不加载问题的解决方法
May 17 Javascript
jQuery插件EasyUI设置datagrid的checkbox为禁用状态的方法
Aug 05 Javascript
ES6概念 Symbol.keyFor()方法
Dec 25 Javascript
原生js FileReader对象实现图片上传本地预览效果
Mar 27 Javascript
js根据需要计算数组中重复出现某个元素的个数
Jan 18 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
使用PHP数组实现无限分类,不使用数据库,不使用递归.
2006/12/09 PHP
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
2007/12/11 PHP
PHP 数组遍历顺序理解
2009/09/09 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
Yii2框架中日志的使用方法分析
2017/05/22 PHP
PHP单例模式模拟Java Bean实现方法示例
2018/12/07 PHP
Javascript优化技巧(文件瘦身篇)
2008/01/28 Javascript
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
2010/03/04 Javascript
JavaScript 实现简单的倒计时弹窗DEMO附图
2014/03/05 Javascript
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
jQuery中click事件用法实例
2014/12/26 Javascript
Bootstrap CSS布局之代码
2016/12/17 Javascript
滚动条的监听与内容随着滚动条动态加载的实现
2017/02/08 Javascript
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
2018/07/05 Javascript
详解Vue Elementui中的Tag与页面其它元素相互交互的两三事
2018/09/25 Javascript
Angular PWA使用的Demo示例
2019/01/31 Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
2019/03/29 Javascript
简单分析js中的this的原理
2019/08/31 Javascript
解决在layer.open中使用时间控件laydate失败的问题
2019/09/11 Javascript
基于javascript的无缝滚动动画实现2
2020/08/07 Javascript
vue中使用vue-pdf的方法详解
2020/09/05 Javascript
详谈pandas中agg函数和apply函数的区别
2018/04/20 Python
python读取csv和txt数据转换成向量的实例
2019/02/12 Python
tensorflow 限制显存大小的实现
2020/02/03 Python
3种适用于Python的疯狂秘密武器及原因解析
2020/04/29 Python
图解Python中深浅copy(通俗易懂)
2020/09/03 Python
英国领先的在线药房:Pharmacy First
2017/09/10 全球购物
Ryderwear美国官网:澳大利亚高端健身训练装备品牌
2018/04/24 全球购物
可爱的童装和鞋子:Fabkids
2019/08/16 全球购物
饲料采购员岗位职责
2013/12/19 职场文书
我为自己代言广告词
2014/03/18 职场文书
2014小学二年级班主任工作总结
2014/12/05 职场文书
小学感恩节活动总结
2015/03/24 职场文书
安全承诺书格式范本
2015/04/28 职场文书
Python基础之赋值,浅拷贝,深拷贝的区别
2021/04/30 Python