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 相关文章推荐
javascript据option的value值快速设定初始的selected选项
Aug 13 Javascript
JavaScript 函数replace深入了解
Mar 14 Javascript
jquery.blockUI.js上传滚动等待效果实现思路及代码
Mar 18 Javascript
清除div下面的所有标签的方法
Feb 17 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
Oct 14 Javascript
json对象与数组以及转换成js对象的简单实现方法
Jun 24 Javascript
BootStrap的table表头固定tbody滚动的实例代码
Aug 24 Javascript
基于JavaScript实现数码时钟效果
Mar 30 Javascript
vue单页面在微信下只能分享落地页的解决方案
Apr 15 Javascript
js实现九宫格布局效果
May 28 Javascript
electron踩坑之remote of undefined的解决
Oct 06 Javascript
vue实现移动端div拖动效果
Mar 03 Vue.js
超链接的禁用属性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测试成功的邮件发送案例
2015/10/26 PHP
php实现图片上传并进行替换操作
2016/03/15 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
PHP结合Vue实现滚动底部加载效果
2017/12/17 PHP
splice slice区别
2006/10/09 Javascript
JS HTML5 音乐天气播放器(Ajax获取天气信息)
2013/05/26 Javascript
原生JavaScript实现连连看游戏(附源码)
2013/11/05 Javascript
深入理解Javascript动态方法调用与参数修改的问题
2013/12/10 Javascript
JavaScript定义变量和变量优先级问题探讨
2014/10/11 Javascript
JavaScript实现数组在指定位置插入若干元素的方法
2015/04/06 Javascript
浅谈js中对象的使用
2016/08/11 Javascript
jQuery Ajax Post 回调函数不执行问题的解决方法
2016/08/15 Javascript
vue封装第三方插件并发布到npm的方法
2017/09/25 Javascript
js原生日历的实例(推荐)
2017/10/31 Javascript
webpack v4 从dev到prd的方法
2018/04/02 Javascript
WebGL学习教程之Three.js学习笔记(第一篇)
2019/04/25 Javascript
sortable+element 实现表格行拖拽的方法示例
2019/06/07 Javascript
解决layUI的页面显示不全的问题
2019/09/20 Javascript
Element Backtop回到顶部的具体使用
2020/07/27 Javascript
JS代码简洁方式之函数方法详解
2020/07/28 Javascript
js+canvas实现画板功能
2020/09/13 Javascript
python持久性管理pickle模块详细介绍
2015/02/18 Python
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
2017/07/12 Python
快速了解Python中的装饰器
2018/01/11 Python
python hashlib加密实现代码
2019/10/17 Python
Python基于paramunittest模块实现excl参数化
2020/04/26 Python
解决python使用list()时总是报错的问题
2020/05/05 Python
Django用户登录与注册系统的实现示例
2020/06/03 Python
吉列剃须刀美国官网:Gillette美国
2018/07/13 全球购物
康帕斯酒店预订:Compass Hospitality(支持中文)
2018/08/23 全球购物
护理专业应届毕业生推荐信
2013/11/15 职场文书
企业精神口号
2014/06/11 职场文书
团组织推荐意见
2015/06/05 职场文书
羊脂球读书笔记
2015/06/30 职场文书
学校中层领导培训心得体会
2016/01/11 职场文书
python入门学习关于for else的特殊特性讲解
2021/11/20 Python