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中switch判断容易犯错的一个细节
Aug 27 Javascript
js实现下拉框选择要显示图片的方法
Feb 16 Javascript
javascript+canvas实现刮刮卡抽奖效果
Jul 29 Javascript
表单验证插件Validation应用的实例讲解
Oct 10 Javascript
javascript字符串替换函数如何一次性全部替换掉
Oct 30 Javascript
javascript正则表达式之分组概念与用法实例
Jun 16 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
Jul 09 Javascript
Angular5.1新功能分享
Dec 21 Javascript
Vue 项目中遇到的跨域问题及解决方法(后台php)
Mar 28 Javascript
Vue实现一个图片懒加载插件
Mar 11 Javascript
vue-cli3 引入 font-awesome的操作
Aug 11 Javascript
详解微信小程序轨迹回放实现及遇到的坑
Feb 02 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
TP5框架实现的数据库备份功能示例
2020/04/05 PHP
JS数字抽奖游戏实现方法
2015/05/04 Javascript
js实现基于正则表达式的轻量提示插件
2015/08/29 Javascript
Vue使用vue-area-linkage实现地址三级联动效果的示例
2018/06/27 Javascript
vue引入axios同源跨域问题
2018/09/27 Javascript
webpack的pitching loader详解
2019/09/23 Javascript
layui数据表格 table.render 报错的解决方法
2019/09/29 Javascript
element实现合并单元格通用方法
2019/11/13 Javascript
vue 实现LED数字时钟效果(开箱即用)
2019/12/08 Javascript
微信小程序如何加载数据库真实数据的实现
2020/03/04 Javascript
[00:23]DOTA2群星共贺开放测试 25日无码时代来袭
2013/09/23 DOTA
[01:29:46]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第二局
2016/02/27 DOTA
python判断windows系统是32位还是64位的方法
2015/05/11 Python
Python字符串、元组、列表、字典互相转换的方法
2016/01/23 Python
Python随机读取文件实现实例
2017/05/25 Python
浅谈python数据类型及类型转换
2017/12/18 Python
python微信跳一跳系列之棋子定位颜色识别
2018/02/26 Python
python实现图片文件批量重命名
2020/03/23 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
pandas 将索引值相加的方法
2018/11/15 Python
pip指定python位置安装软件包的方法
2019/07/12 Python
windows python3安装Jupyter Notebooks教程
2020/04/13 Python
django ORM之values和annotate使用详解
2020/05/19 Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
2020/07/15 Python
Python3合并两个有序数组代码实例
2020/08/11 Python
html5的新增的标签和废除的标签简要概述
2013/02/20 HTML / CSS
百度软件工程师职位
2013/02/14 面试题
年终考核实施方案
2014/05/26 职场文书
党员剖析材料范文
2014/09/30 职场文书
晚会开幕词
2015/01/28 职场文书
大足石刻导游词
2015/02/02 职场文书
幼儿园教师自我评价
2015/03/04 职场文书
教学质量月活动总结
2015/05/11 职场文书
亮剑观后感300字
2015/06/05 职场文书
导游词之沈阳清昭陵
2019/12/28 职场文书
python多次执行绘制条形图
2022/04/20 Python