js处理json以及字符串的比较等常用操作


Posted in Javascript onSeptember 08, 2013

js处理json格式的插入、修改、删除,以及字符串的比较等常用操作

demo 1:
json格式的插入、删除

<html> 
<head> 
<title></title> 
<script language="javascript"> 
function change(){ 
var obj=document.getElementById("floor"); 
if (document.getElementById("qu").value=="1"){ 
var t=document.createElement("OPTION"); 
t.text="第五楼"; 
t.value="5"; 
obj.add(t); 
}else if(document.getElementById("qu").value=="2"){ 
for(var i=0; i<obj.length;i++){ 
if(obj.options[i].value=="5"){ 
obj.remove(i); 
return; 
} 
} 
} 
} 
</script> 
</head> 
<body> 
<form id="form1" name="form1" method="post" action=""> <select multiple="multiple" name="qu" id="qu" onchange="change()" style="width: 150px; height: 300px;"> 
<option value="请选择所在区">--请选择所在区--</option> 
<option value="1">南开区</option> 
<option value="2">红桥区</option> 
</select> 
<select multiple="multiple" name="floor" id="floor" style="width: 150px; height: 300px;"> 
<option value="请选择楼层">--请选择楼层--</option> 
<option value="1">第一楼</option> 
<option value="2">第二楼</option> 
<option value="3">第三楼</option> 
<option value="4">第四楼</option> 
</select> 
</form> 
</body> 
</html>

运行结果:
js处理json以及字符串的比较等常用操作 
demo2:
<!DOCTYPE html> 
<html> 
<script language="javascript"> 
function toLeft() { 
var list1 = document.getElementById("list1"); 
var list2 = document.getElementById("list2"); for (var i = list2.options.length-1; i >= 0 ; i--) { 
if(list2.options[i].selected ==true){ 
var op = document.createElement("option"); 
op.text = list2.options[i].text; 
op.value = list2.options[i].value; 
list1.add(op); 
list2.remove(i); 
} 
} 
} 
function toRight() { 
var list1 = document.getElementById("list1"); 
var list2 = document.getElementById("list2"); 
for (var i = list1.options.length-1; i >= 0 ; i--) { 
if(list1.options[i].selected ==true){ 
var op = document.createElement("option"); 
op.text = list1.options[i].text; 
op.value = list1.options[i].value; 
list2.add(op); 
list1.remove(i); 
} 
} 
} 
function submit() { 
var list2 = document.getElementById("list2"); 
var innerStr = ""; 
for (var i = 0; i < list2.options.length; i++) { 
innerStr += i + " - " + list2.options[i].text + " : " + list2.options[i].value + "</br>"; 
} 
var wt = document.getElementById("wt"); 
wt.innerHTML = innerStr; 
} 
</script> 
</head> 
<body> 
<div> 
<select multiple="multiple" id="list1" style="width: 500px; height: 100px;> 
<option value="volvo">Volvo</option> 
<option value="saab">Saab</option> 
<option value="opel">Opel</option> 
<option value="audi">Audi</option> 
</select> 
<input type="button" value=">" onclick="toRight();submit()"/> 
<input type="button" value="<" onclick="toLeft();submit()"/> 
<select multiple="multiple" id="list2" style="width: 500px; height: 100px;> 
<option value="volvo">Volvo</option> 
<option value="saab">Saab</option> 
<option value="opel">Opel</option> 
<option value="audi">Audi</option> 
</select> 
<input type="button" value="submit" onclick="submit()"/> 
<div id="wt"/></div> 
</body> 
</html>

运行结果:
js处理json以及字符串的比较等常用操作 
Demo 3:

json元素的插入、修改、删除,以及与字符串的转化格式

<html> 
<head> 
<title>IT-Homer demo</title> 
</head> <body> 
<input type="button" id="parse" value="parse json" onclick="parseJson()" /> 
<div id="txt" /> 
<script type="text/javascript"> 
function parseJson(){ 
var txt = document.getElementById("txt"); 
var jsonData = '{"name":"it-homer","age":25}'; 
var field = ""; 
if(jsonData.length <= 0){ 
jsonData = '{}'; 
} 
var jsonObj = JSON.parse(jsonData); // ok 
// var jsonObj = eval('(' + jsonData + ')'); // ok 
// var jsonObj = jsonData.parseJSON(); // error 
field += "name = " + jsonObj.name; 
field += ", age = " + jsonObj.age; 
jsonObj["sex"] = "boy"; // add json, {"name":"it-homer","age":25,"sex":"boy"} 
// createJson(jsonObj, "sex", "boy"); 
jsonData = JSON.stringify(jsonObj); // ok 
// jsonData = jsonObj.toJSONString(); // error 
var sex = ""; 
if(jsonObj.length > 0) { 
sex = jsonObj.sex; 
} 
txt.innerHTML = field + "</br>" + jsonData; 
} 
function createJson(jsonObj, key, value){ 
if(typeof value === "undefined"){ 
delete jsonObj[key]; 
} else { 
jsonObj[key] = value; 
} 
} 
</script> 
</body> 
</html>

运行结果:
js处理json以及字符串的比较等常用操作 
Demo4:

比较两个字符串不同的元素并打印出来,其中两个字符串是包含关系,即一个字符串一定是另一个字符串的子串,如{1,2,4}是{1,2,3,4,5}的子串

<html> 
<head> 
<title>IT-Homer demo</title> 
</head> <body> 
<input type="button" id="parse" value="parse json" onclick="parseJson222()" /> 
<div id="txt" /> 
<script type="text/javascript"> 
function parseJson222(){ 
var txt = document.getElementById("txt"); 
// var jsonData_old = '_2,4,_4,21,_5,22,8,_7,23,_9,11,12,13,61'; 
// var jsonData_new = '_2,_3,1,2,3,4,_4,21,_5,22,_6,5,6,7,8,_7,23,_9,11,12,13,14,-1,61'; 
var jsonData_new = '_2,4,_4,21,_5,22,8,_7,23,_9,11,12,13,61'; 
var jsonData_old = '_2,_3,1,2,3,4,_4,21,_5,22,_6,5,6,7,8,_7,23,_9,11,12,13,14,-1,61'; 
var diff = diffJson(jsonData_old, jsonData_new); 
txt.innerHTML = diff; 
printArray("diff", diff); 
} 
function diffJson(jsonData_old, jsonData_new){ 
var diff = ""; 
var oldArray = jsonData_old.split(","); 
var newArray = jsonData_new.split(","); 
var oldLen = oldArray.length; 
var newLen = newArray.length; 
var minLen = Math.min(oldLen, newLen); 
if(minLen == newLen){ 
tmpArray = newArray; // swap array 
newArray = oldArray; 
oldArray = tmpArray; 
newLen = oldLen; // swap array length 
oldLen = minLen; 
} 
printArray("newArray", newArray); 
printArray("oldArray", oldArray); 
var arr = []; 
for(i=0; i<newLen; i++){ 
var j=0; 
for(j=0; j<oldLen; j++){ 
if(newArray[i] == oldArray[j]){ 
break; 
} 
} 
if(j == oldLen){ 
arr.push(newArray[i]); 
} 
} 
return arr; 
} 
function printArray(tag, arr){ 
var len = arr.length; 
document.write("<br>"); 
document.write(tag + " : " + arr.toString()); 
} 
</script> 
</body> 
</html>

运行结果:
js处理json以及字符串的比较等常用操作 
Demo5:
<html> 
<head> 
<title>hello</title> 
<style type="text/css"> 
#adddelTextId{ 
float: clean; 
} normal { 
font-style: normal; 
color: #000000; 
} 
add { 
font-style: normal; 
color: #cc0000; 
} 
del { 
font-style: normal; 
color: #0000ff; 
text-decoration: line-through; 
} 
</style> 
</head> 
<body onload="initLoad()"> 
<textarea id="textareaId" name="aaa" cols="50" rows="5" > 
</textarea><br /> 
<div> 
<div id="normalTextId" style="float:left">我,喜,欢</div> 
<add><div id="addTextId" style="float:left">,你</div></add> 
<del><div id="delTextId">,做,朋,友</div></del> 
</div> 
<input type="button" value="click me" onclick="hh()"> 
<script language="javascript"> 
var textareaId = document.getElementById("textareaId"); 
var adddelTextId = document.getElementById("adddelTextId"); 
var normalTextId = document.getElementById("normalTextId"); 
var addTextId = document.getElementById("addTextId"); 
var delTextId = document.getElementById("delTextId"); 
function initLoad(){ 
adddelText = normalTextId.innerHTML + addTextId.innerHTML; 
textareaId.innerHTML = adddelText; 
} 
function hh(){ 
adddelTextFunc(true, ",IT-Homer"); 
adddelTextFunc(false, ",Sunboy_2050"); 
} 
function adddelTextFunc(isAdd, txt){ 
if(isAdd){ // add 
addTextId.innerHTML = txt; 
} else { // del 
delTextId.innerHTML = txt; 
} 
adddelText = normalTextId.innerHTML + addTextId.innerHTML; 
textareaId.innerHTML = adddelText; 
} 
</script> 
</body> 
</html>

运行结果:
js处理json以及字符串的比较等常用操作
Javascript 相关文章推荐
高性能WEB开发 flush让页面分块,逐步呈现 flush让页面分块,逐步呈现
Jun 19 Javascript
jQuery选中select控件 无法设置selected的解决方法
Sep 01 Javascript
Grid得到选择行数据的方法总结
Jan 17 Javascript
js获取表格的行数和列数的方法
Oct 23 Javascript
移动手机APP手指滑动切换图片特效附源码下载
Nov 30 Javascript
浅谈JavaScript的全局变量与局部变量
Jun 10 Javascript
Bootstrap在线电子商务网站实战项目5
Oct 14 Javascript
微信小程序左右滑动切换页面详解及实例代码
Feb 28 Javascript
微信小程序使用radio显示单选项功能【附源码下载】
Dec 11 Javascript
angular多语言配置详解
May 16 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
Jan 07 Javascript
vue项目中的支付功能实现(微信支付和支付宝支付)
Feb 18 Vue.js
Jquery.addClass始终无效原因分析
Sep 08 #Javascript
jquery选择器、属性设置用法经验总结
Sep 08 #Javascript
jQuery让控件左右移动的三种实现方法
Sep 08 #Javascript
将Datatable转化成json发送前台实现思路
Sep 06 #Javascript
json数据的列循环示例
Sep 06 #Javascript
如何设置iframe高度自适应在跨域情况下的可用方法
Sep 06 #Javascript
JQuery对id中含有特殊字符的转义处理示例
Sep 06 #Javascript
You might like
解析如何用php screw加密php源代码
2013/06/20 PHP
php获取文章上一页与下一页的方法
2014/12/01 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
PHP读取目录树的实现方法分析
2019/03/22 PHP
在IE模态窗口中自由查看HTML源码的方法
2007/03/08 Javascript
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
2009/07/19 Javascript
jQuery toggle()设置CSS样式
2009/11/05 Javascript
Html中JS脚本执行顺序简单举例说明
2010/06/19 Javascript
Script的加载方法小结
2011/01/12 Javascript
javascript中undefined与null的区别
2015/08/16 Javascript
zTree插件下拉树使用入门教程
2016/04/11 Javascript
利用 spin.js 生成等待效果(js 等待效果)
2017/06/25 Javascript
javascript  数组排序与对象排序的实例
2017/07/17 Javascript
基于Vue.js实现tab滑块效果
2017/07/23 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
2017/09/28 Javascript
js中bool值的转换及“&amp;&amp;”、“||”、 “!!”详解
2017/12/21 Javascript
vue 中动态绑定class 和 style的方法代码详解
2018/06/01 Javascript
jQuery实现全选、反选和不选功能的方法详解
2019/12/04 jQuery
React中使用UMEditor的方法示例
2019/12/27 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
2020/10/29 Javascript
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
使用Python的Tornado框架实现一个Web端图书展示页面
2016/07/11 Python
解决Python中字符串和数字拼接报错的方法
2016/10/23 Python
python使用matplotlib绘图时图例显示问题的解决
2017/04/27 Python
Python+OpenCV实现将图像转换为二进制格式
2020/01/09 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
pytorch 实现L2和L1正则化regularization的操作
2021/03/03 Python
localStorage、sessionStorage使用总结
2017/11/17 HTML / CSS
快速实现一个简单的canvas迷宫游戏的示例
2018/07/04 HTML / CSS
Laura官网:加拿大女性的顶级时尚目的地
2019/09/20 全球购物
好军嫂事迹材料
2014/01/15 职场文书
幼儿教师国培感言
2014/02/19 职场文书
《罗布泊,消逝的仙湖》教学反思
2014/03/01 职场文书
内乡县衙导游词
2015/02/05 职场文书
搞笑欢迎词大全
2015/09/30 职场文书
如何使用 resize 实现图片切换预览功能
2021/08/23 HTML / CSS