Javascript 字典应用实例
字典时一个很有用的工具,在之前C#项目中有经常使用,这篇博文主要讲解在Javascript中,字典的实际应用场景
首先在JS中,是没有Dictionary‘类的,我们需要实现键值(KEY) -- 数值(VALUE)的对应关系,最好的办法就是用数组
首先交代下背景,我需要根据数组里的站点编号,获取到对应的站点名称
首先通过Thrift接口,获取到数据库里面的设备信息,通过Ajax传输到js页面,遍历数组
PS : 数据结构如下:
# 设备信息 struct Device{int id,# string name,.....};
# 站点信息 struct Site{int id,# string name,.....,list<Device> lsDevices};
# 区域信息 struct Area{int id,# string name,.....,list<Site> lsSites};
首先获取到区域信息,然后根据list<Site> lsSites的length判断有无站点,如果有,获取信息,以此类推
我在CSDN上面找到一个写的比较全的,在他的基础上,我做了稍许修改,提取了我需要的部分
代码如下:
function Dictionary() {
this.datastore = new Array();
this.add = function (key, value) {
this.datastore[key] = value;
}
this.find = function (key) {
return this.datastore[key];
}
}
然后实例化Dictionary类
var adddevide = new Dictionary();
开始遍历数组,传值,代码如下:
//设备编号字典
function dictionarydevice(list) {
var length = list.length;
//存贮设备ID
var ID = "";
//存储设备名称
var Name = ""; var i = 0;
var ii = 0;
var iii = 0; for( i = 0;i<length;i++){
ID = list[i].szAreaID;
Name = list[i].szAreaName;
adddevide.add(ID,Name);
if(list[i].lsSites.length === 0){
break;
}
else{
for( ii = 0;ii<list[i].lsSites.length;ii++){
ID = list[i].lsSites[ii].szSiteID;
Name = list[i].lsSites[ii].szSiteName;
adddevide.add(ID,Name);
if(list[i].lsSites[ii].lsDevices.length === 0){
break;
}
else{
for( iii = 0;iii<list[i].lsSites[ii].lsDevices.length;iii++) {
ID = list[i].lsSites[ii].lsDevices[iii].szDeviceID;
Name = list[i].lsSites[ii].lsDevices[iii].szDeviceName;
adddevide.add(ID, Name);
}
}
}
}
} alert(adddevide.find("JS0101"));
}
运行程序,出现JS0101对应的站点,字典完成
Javascript 字典应用实例的更多相关文章
- Google Map JavaScript API V3 实例大全
Google Map JavaScript API V3 实例大全 基础知识 简单的例子 地理位置 语言 位置 坐标 简单的投影 事件 简单事件 关闭事件 多次添加事件 事件属性 控制 php禁用ui ...
- javascript字典数据结构Dictionary实现
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat=&qu ...
- JavaScript 字典
JavaScript 字典 字典以 key value 形式出现 使用: a = {'k1':'v1,''k2':'v2'} 获取值: a['k1'] 获取值:v1
- javaScript 面向对象开发实例
javaScript 面向对象开发实例 这个是结合require的模块化开发,首先创建构造函数: //test.js 1 function Test(lists) { var config={ nam ...
- javascript 字典类型的使用
javascript 字典类型的使用 1.使用Array: var arr = new Array(); arr["zs"] = "zhangsan"; ar ...
- JavaScript 字典(Dictionary)
TypeScript方式实现源码 // set(key,value):向字典中添加新元素. // remove(key):通过使用键值来从字典中移除键值对应的数据值. // has(key ...
- 关于Javascript中通过实例对象修改原型对象属性值的问题
Javascript中的数据值有两大类:基本类型的数据值和引用类型的数据值. 基本类型的数据值有5种:null.undefined.number.boolean和string. 引用类型的数据值往大的 ...
- JavaScript模板引擎实例应用
在之前的一篇名为<移动端基于HTML模板和JSON数据的JavaScript交互>的文章中,我向大家说明了为什么要使用JavaScript模板以及如何使用,文末还提到了laytpl.art ...
- JavaScript学习笔记-实例详解-类(一)
实例详解-类(一): //每个javascript函数(除了bind())都自动拥有一个prototype对象// 在未添加属性或重写prototype对象之前,它只包含唯一一个不可枚举属性const ...
随机推荐
- Python3.6 性能测试框架Locust的搭建与使用
背景 Python3.6 性能测试框架Locust的搭建与使用 基础 python版本:python3.6 方法一: pip install locustio 方法二: 开发工具:pycharm 使用 ...
- mysql数据库数据的 备份以及还原
数据库备份的3种方式: 例如:mysqldump -uzx_root -p test>/root/test1.sql
- Docker入门6------生产力工具rancher
rancher的安装: https://blog.csdn.net/wh211212/article/details/80932264 安装 一行命令就可以安装 sudo docker run -d ...
- javaweb(1)之tomcat使用
安装 1.点击下载. 2.解压到一个目录. 3.进入解压后的 bin 目录,双击该文件夹下的 startup.bat 即可运行. 4.若运行成功,会有一个窗口悬停如下: 访问地址: localhost ...
- POI大数据Excel生成
package com.hd.erpreport.controller; import java.io.File; import java.io.FileOutputStream; import ja ...
- python中Hadamard product和matrix product的区分
先简单说一下Hadamard product: (参照维基百科:https://en.wikipedia.org/wiki/Hadamard_product_(matrices)) 而matrix ...
- C# Tuple<T1,T2....T>元组的使用
1) 先说组元:一个数据结构,由通过逗号分割的,用于传递给一个程序或者操作系统的一系列值的组合. NET Framework 直接支持一至七元素的元组 Tuple<T1> Tuple< ...
- #WEB安全基础 : HTTP协议 | 0x7 学会使用wireshark分析数据包
wireshark是开源,免费,跨平台的抓包分析工具 我们可以通过wireshark学习HTTP报文和进行抓包分析,在CTF中的流量分析需要用到抓包 1.下载和安装 这是wireshark的官网 ht ...
- pascal中的xor,shr,shl,Int(),ArcTan(),copy,delete,pos和leftstr,RightStr等详解
数学函数:Inc(i)使I:=I+1;Inc(I,b)使I:=I+b;Abs(x)求x的绝对值例:abs(-3)=3Chr(x)求编号x对应的字符. 例:Chr(65)=’A’chr(97)=’a’c ...
- EasyUI表格DataGrid格式化formatter用法
1.通过HTML标签创建数据表格时使用formatter <!DOCTYPE html> <html> <head> <meta charset=" ...