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判断数组中是否包含某一元素(类似于php中的in_array())
Dec 12 Javascript
jquery解析xml字符串简单示例
Apr 11 Javascript
3种Jquery限制文本框只能输入数字字母的方法
Dec 03 Javascript
jQuery实现加入购物车飞入动画效果
Mar 14 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
Sep 24 Javascript
jQuery 调用WebService 实例讲解
Jun 28 Javascript
vue.js中npm安装教程图解
Apr 10 Javascript
webpack4 SCSS提取和懒加载的示例
Sep 03 Javascript
微信小程序实现传递多个参数与事件处理
Aug 12 Javascript
angular8和ngrx8结合使用的步骤介绍
Dec 01 Javascript
Preload基础使用方法详解
Feb 03 Javascript
在vue中实现嵌套页面(iframe)
Jul 30 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学习之php4与php5之间会穿梭一点点感悟
2007/05/03 PHP
PHP循环获取GET和POST值的代码
2008/04/09 PHP
PHP 中执行排序与 MySQL 中排序
2009/04/21 PHP
常用PHP框架功能对照表
2014/10/23 PHP
PHP7之Mongodb API使用详解
2015/12/26 PHP
Yii框架用户登录session丢失问题解决方法
2017/01/07 PHP
thinkphp5引入公共部分header、footer的方法详解
2018/09/14 PHP
浅谈Laravel中的三种中间件的作用
2019/10/13 PHP
js实现运行代码需要刷新的解决方法
2007/08/18 Javascript
二级域名或跨域共享Cookies的实现方法
2008/08/07 Javascript
jQuery DOM操作小结与实例
2010/01/07 Javascript
jQuery入门问答 整理的几个常见的初学者问题
2010/02/22 Javascript
showModelDialog弹出文件下载窗口的使用示例
2013/11/19 Javascript
js 显示base64编码的二进制流网页图片
2014/04/04 Javascript
JavaScript判断变量是对象还是数组的方法
2014/08/28 Javascript
jQuery实现列表内容的动态载入特效
2015/08/08 Javascript
bootstrap组件之按钮式下拉菜单小结
2017/01/19 Javascript
利用ES6语法重构React组件详解
2017/03/02 Javascript
原生JS实现图片无缝滚动方法(附带封装的运动框架)
2017/10/01 Javascript
js动态引入的四种方法
2018/05/05 Javascript
小程序实现长按保存图片的方法
2019/12/31 Javascript
利用Python的Django框架生成PDF文件的教程
2015/07/22 Python
深入解析Python中的list列表及其切片和迭代操作
2016/03/13 Python
Python利用operator模块实现对象的多级排序详解
2017/05/09 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
Pycharm导入Python包,模块的图文教程
2018/06/13 Python
django之导入并执行自定义的函数模块图解
2020/04/01 Python
CSS3+JavaScript实现炫酷呼吸效果的示例代码
2020/06/15 HTML / CSS
Html5实现用户注册自动校验功能实例代码
2016/05/24 HTML / CSS
鼠标滚轮事件和Mac触控板双指事件
2019/12/23 HTML / CSS
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
统计每一学生的平均成绩
2014/06/06 面试题
求职自我推荐信
2014/06/25 职场文书
教师专业技术工作总结2015
2015/05/13 职场文书
商务信函英语问候语
2015/11/10 职场文书
Python将CSV文件转化为HTML文件的操作方法
2021/06/30 Python