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 相关文章推荐
Node.js本地文件操作之文件拷贝与目录遍历的方法
Feb 16 Javascript
Bootstrap每天必学之导航条(二)
Mar 01 Javascript
JavaScript使ifram跨域相互访问及与PHP通信的实例
Mar 03 Javascript
JS for...in 遍历语句用法实例分析
Aug 24 Javascript
JavaScript学习笔记整理_setTimeout的应用
Sep 19 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
Nov 21 Javascript
微信小程序--onShareAppMessage分享参数用处(页面分享)
Apr 18 Javascript
Angular2使用Augury来调试Angular2程序
May 21 Javascript
简单实现js轮播图效果
Jul 14 Javascript
JS实现页面内跳转的简单代码
Sep 03 Javascript
Vue实现Header渐隐渐现效果的实例代码
Nov 05 Javascript
基于JavaScript实现简单扫雷游戏
Jan 02 Javascript
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
javascript,php获取函数参数对象的代码
2011/02/03 PHP
PHP 快速排序算法详解
2014/11/10 PHP
PHP+MySQL修改记录的方法
2015/01/21 PHP
php源码分析之DZX1.5随机数函数random用法
2015/06/17 PHP
JavaScript窗口功能指南之在窗口中书写内容
2006/07/21 Javascript
获取任意Html元素与body之间的偏移距离 offsetTop、offsetLeft (For:IE5+ FF1 )[
2006/12/22 Javascript
jQuery帮助之CSS尺寸(五)outerHeight、outerWidth
2009/11/14 Javascript
Javascript的getYear、getFullYear、getUTCFullYear异同分享
2011/11/30 Javascript
Javascript 中 null、NaN和undefined的区别总结
2013/04/10 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
jquery ajax 简单范例(界面+后台)
2013/11/19 Javascript
JavaScript预解析及相关技巧分析
2016/04/21 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
2017/03/24 jQuery
VSCode 配置React Native开发环境的方法
2017/12/27 Javascript
基于axios 的responseType类型的设置方法
2019/10/29 Javascript
Python实现把xml或xsl转换为html格式
2015/04/08 Python
Python中字符串的修改及传参详解
2016/11/30 Python
Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
2018/01/11 Python
对Python实现简单的API接口实例讲解
2018/12/10 Python
tensorflow自定义激活函数实例
2020/02/04 Python
判断Threading.start新线程是否执行完毕的实例
2020/05/02 Python
Keras 使用 Lambda层详解
2020/06/10 Python
在keras中对单一输入图像进行预测并返回预测结果操作
2020/07/09 Python
Python如何对齐字符串
2020/07/30 Python
css3弹性盒子flex实现三栏布局的实现
2020/11/12 HTML / CSS
html5清空画布方法(三种)
2017/10/16 HTML / CSS
Tarte Cosmetics官网:美国最受欢迎的化妆品公司之一
2017/08/24 全球购物
英国莱斯特松木橡木家具网上商店:Choice Furniture Superstore
2019/07/05 全球购物
MaBelle玛贝尔香港官网:香港钻饰连锁店
2019/09/09 全球购物
讲文明树新风演讲稿
2014/05/12 职场文书
世界气象日活动总结
2015/02/27 职场文书
慰问信格式规范
2015/03/23 职场文书
2016年小学推普宣传周活动总结
2016/04/06 职场文书
CSS 新特性 contain控制页面的重绘与重排问题
2021/04/30 HTML / CSS
基于Golang 高并发问题的解决方案
2021/05/08 Golang
实现AJAX异步调用和局部刷新的基本步骤
2022/03/17 Javascript