JS对Json对象Distinct
Json对象去重
今日有一个需求如下:
从数据库中取出数据源转化成json字符串绑定到隐藏域中,取出的json字符串如下:
string data="[{"CompanyName":"集团总部","CompanyCode":"ORG2"},{"CompanyName":"集团总部","CompanyCode":"ORG2"}]";
现在需要绑定到html上的select,就会出现重复的下拉数据了。
希望得到的数据是:string data="[{"CompanyName":"集团总部","CompanyCode":"ORG2"}]";
如下代码:
<td style="width: 80px">
<label class="labDoc">公司:</label>
</td>
<td style="width: 200px;">
<select id="sel_Company">
</select>
</td>
解释几点:
1.jQuery.parseJSON()函数用于将格式完好的JSON字符串转为与之对应的JavaScript对象(由于我是从C#取的DataTable转化成的Json字符串)
2.toJSON 方法用来将一个普通的 JavaScript 对象序列化为 JSON 串
如果有不明白的地方请参考(http://www.cnblogs.com/haogj/archive/2011/12/01/2271098.html)
//在页面初始化时加载此方法
function getDept() {
var data1 = jQuery.parseJSON($("#DeptData").val()); //DeptData是一个隐藏域从PageLoad中绑定的Json字符串
//alert($("#CompanyData").val());
var data = jQuery.parseJSON(disJson(data1));
$("#sel_Company").append("<option value=''>-----请选择公司-----</option>");
for (var i = 0; i < data.length; i++) {
$("#sel_Company").append("<option value='" + data[i].CompanyCode + "'>" + data[i].CompanyName + "</option>");
}
} //去重Json对象
function disJson(data) {
//首先创建2个数组,一个用来返回Json字符串(arr),另一个用于计算是否出现重复数据(arrCompare)
var arr = new Array();
var arrCompare = new Array();
for (var i = 0; i < data.length; i++) {
this.model = {
CompanyCode: data[i].CompanyCode,
CompanyName: data[i].CompanyName
}
//这里我用比较重复数组来查看是否包含新的公司代码,-1没有可以继续插入数组,0则为存在则不可
//这里不能用arr.indexOf(data[i])==-1这样去比较
//因为这样都是[Object Object]没办法去比到底是哪个对象
if (arrCompare.indexOf(data[i].CompanyCode) == -1) {
arr.push(model);
arrCompare.push(data[i].CompanyCode);
}
} //alert($.toJSON(arr))
return $.toJSON(arr);
}
JS对Json对象Distinct的更多相关文章
- Js拼Json对象
我们通常会拼字符串,但是拼字符串的话,遇见占位符会出错. 下面分享一个拼js拼json对象的方法: var jsonArr = []; $ ...
- js遍历json对象
原生js遍历json对象 遍历json对象: 无规律: <script> var json = [ {dd:'SB',AA:'东东',re1:123}, {cccc:'dd',lk:'1q ...
- js 替换json对象中的键名
js 替换json对象中的键名 CreateTime--2018年3月30日15:38:50 Author:Marydon 情景描述: 有个json数组,现在需要将json对象中的key替换掉,值 ...
- js中 json对象与json字符串相互转换的几种方式
以下总结js中 json对象与json字符串相互转换的几种方式: 一.JSON对象转化为JSON字符串 1.使用JSON.stringify()方法进行转换 该方法不支持较老版本的IE浏览器,比如:i ...
- 类对象传输到jsp页面。需要转换为js的json对象时,这么做。
场景:要从一个列表中选择信息,填写入父页面的表单中,但是字段非常多... 后台查询,得到结果,放在列表中. 效果:点击选择产品.. 弹出页面:点击后面的选择产品 选择产品后:信息自动填充.. 实现:点 ...
- js 将json对象转成字符串
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- js中json对象和字符串的转换
JSON.parse() : 字符串-->json对象 var str = '{"name":"huangxiaojian","age" ...
- js 中 json对象 与 json字符串 间相互转换
在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键 JSON字符串: var str1 = '{ " ...
- JS 中 JSON 对象与字符串之间的相互转换
在开发的过程中,如果对于少量参数的前后台传递,可以直接采用ajax的data函数,按json格式传递,后台Request即可,但有的时候,需要传递多个参数,这样后台 接受的时候Request多个很麻烦 ...
随机推荐
- 从源码的角度分析ViewGruop的事件分发
从源码的角度分析ViewGruop的事件分发. 首先我们来探讨一下,什么是ViewGroup?它和普通的View有什么区别? 顾名思义,ViewGroup就是一组View的集合,它包含很多的子View ...
- Jqeury获取table当前行与指定列
今天遇到了一个Jqeury获取table当前行与指定列的问题: 大概的实现要求是一个页面中,上面有几个input输入框,下面有一个table,当在输入框中输入内容的时候,点击添加按钮的时候,在下面ta ...
- Hive编程(影印版)
<Hive编程(影印版)> 基本信息 原书名:Programming Hive 作者: Edward Capriolo Dean Wampler Jason Rutherglen 出版社: ...
- 给力的轻量级JavaScript动画框架 - jsMorph
jsMorph 是一个独立的轻量级 JavaScript 动画框架,可以用它来操纵多个 HTML 元素的样式,实现动画效果.此框架会自动检测起始位置.转换单位.调整渲染的速度,以此来获得更流畅的渲染体 ...
- Linux配置防火墙8080端口
1.查看防火墙状态,哪些端口开放了 /etc/init.d/iptables status 2.配置防火墙 vi /etc/sysconfig/iptables ################### ...
- ASP.Net上传中文文件乱码
只要在Head中添加即可解决:<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
- Houdini 13在Ubuntu系统下流畅运行、不崩溃
至尊影视特效软件Houdini FX,当前最新版是13.0.547,经过试用在Ubuntu系统下可以完美运行,目前为止还没出现过崩溃的情况,之前在windows下使用Houdini 13简直就是噩梦, ...
- Struts2_使用 Filter 作为控制器的 MVC 应用
- C#自定义时间显示格式
string time = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); 下面是常见的一些日期时间显示格式 标准的For ...
- js点击button按钮跳转到页面代码
点击按钮怎么跳转到另外一个页面呢?我们在网站制作中可能是需要的,因为有时我们需要做这样的效果,尤其是将按钮做成一个图片,而点击图片要跳转到新的页面时,怎么做到呢? 这样的效果可以:onclick=&q ...