JavaScript实现的类字典插入或更新方法实例


Posted in Javascript onJuly 10, 2015

本文实例讲述了JavaScript实现的类字典插入或更新方法。分享给大家供大家参考。具体如下:

代码表述了类字典插入或更新的相关思想,感兴趣的朋友主要看懂代码意思就行,不必过于深究

<script type="text/javascript">
  function insertOrUpdate(array, keyName, keyVal, fieldNames, fieldVals) {
  var hasExist = false;
  var len = array.length;
  for (var i = 0; i < len; i++) {
   if (array[i][keyName] && array[i][keyName] == keyVal) {
   // 已存在则直接更新
   hasExist = true;
   for (var j = 0; j < fieldNames.length; j++) {
    array[i][fieldNames[j]] = fieldVals[j];
   }
   }
  }
  if (!hasExist) {// 如果不存在则插入
   array[len] = {};
   array[len][keyName] = keyVal;
   for (var k = 0; k < fieldNames.length; k++) {
   array[len][fieldNames[k]] = fieldVals[k];
   }
  }
  }
  var orders = [
    {
    "OrderId" : 1,
    "OrderAmount" : {
     "OldValue" : 10,
     "NewValue" : 20
    }
    }, 
    {
    "OrderId" : 2,
    "OrderAmount" : {
     "OldValue" : 20,
     "NewValue" : 30
    }
    }];
  insertOrUpdate(orders, "OrderId", 1, ["OrderAmount"], [{"OldValue": 145, "NewValue": 1125}]);
  console.dir(orders);
  insertOrUpdate(orders, "OrderId", 3, ["OrderAmount"], [{"OldValue": 75, "NewValue": 95}]);
  console.dir(orders);
</script>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
一份老外写的XMLHttpRequest代码多浏览器支持兼容性
Jan 11 Javascript
从Ajax到JQuery Ajax学习
Feb 14 Javascript
Blocksit插件实现瀑布流数据无限( 异步)加载
Jun 20 Javascript
Javascript获取表单名称(name)的方法
Apr 02 Javascript
js实现一个链接打开两个链接地址的方法
May 12 Javascript
jquery实现的淡入淡出下拉菜单效果
Aug 25 Javascript
详解获取jq ul第一个li定位的四种解决方案
Nov 23 Javascript
JavaScript中的一些隐式转换和总结(推荐)
Dec 22 Javascript
JS实现运动缓冲效果的封装函数示例
Feb 18 Javascript
微信小程序开发的基本流程步骤
Jan 31 Javascript
vue router 组件的高级应用实例代码
Apr 08 Javascript
js实现无缝轮播图效果
Mar 09 Javascript
JavaScript模板引擎用法实例
Jul 10 #Javascript
JavaScript实现打字效果的方法
Jul 10 #Javascript
javascript实现rgb颜色转换成16进制格式
Jul 10 #Javascript
再谈JavaScript线程
Jul 10 #Javascript
javascript实现判断鼠标的状态
Jul 10 #Javascript
javascript检查浏览器是否已经启用XX功能
Jul 10 #Javascript
javascript实现确定和取消提示框效果
Jul 10 #Javascript
You might like
Ha0k 0.3 PHP 网页木马修改版
2009/10/11 PHP
PHP实现百度人脸识别
2019/05/06 PHP
PHP使用观察者模式处理异常信息的方法详解
2019/09/24 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
2007/03/10 Javascript
js 页面执行时间计算代码
2009/03/04 Javascript
javawscript 三级菜单的实现原理
2009/07/01 Javascript
解决表单中第一个非隐藏的元素获得焦点的一个方案
2009/10/26 Javascript
JavaScript DOM 学习第三章 内容表格
2010/02/19 Javascript
javascript操纵OGNL标签示例代码
2014/06/16 Javascript
JavaScript声明变量名的语法规则
2015/07/10 Javascript
详解maxlength属性在textarea里奇怪的表现
2015/12/27 Javascript
关于JavaScript作用域你想知道的一切
2016/02/04 Javascript
jQuery实现布局高宽自适应的简单实例
2016/05/28 Javascript
微信端开发--登录小程序步骤
2017/01/11 Javascript
详解node.js平台下Express的session与cookie模块包的配置
2017/04/26 Javascript
详解webpack+ES6+Sass搭建多页面应用
2018/11/05 Javascript
监控Nodejs的性能实例代码
2019/07/02 NodeJs
24个解决实际问题的ES6代码片段(小结)
2020/02/02 Javascript
[38:54]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第一场 11.28
2020/12/01 DOTA
Python中的random()方法的使用介绍
2015/05/15 Python
12步教你理解Python装饰器
2016/02/25 Python
python3使用pyqt5制作一个超简单浏览器的实例
2017/10/19 Python
python3解析库lxml的安装与基本使用
2018/06/27 Python
python判断列表的连续数字范围并分块的方法
2018/11/16 Python
超酷炫 CSS3垂直手风琴菜单
2016/06/28 HTML / CSS
Html5原创俄罗斯方块(基于canvas)
2019/01/07 HTML / CSS
福克斯租车:Fox Rent A Car
2017/04/13 全球购物
德国柯吉澳趣味家居:Koziol
2017/08/24 全球购物
木马的传播途径主要有哪些
2016/04/08 面试题
国际贸易个人求职信范文
2014/01/04 职场文书
七夕情人节促销方案
2014/06/07 职场文书
判缓刑人员个人思想汇报
2014/10/10 职场文书
办公用房租赁协议书
2014/11/29 职场文书
开票证明
2015/06/23 职场文书
2016年幼儿园万圣节活动总结
2016/04/05 职场文书
Oracle笔记
2021/04/05 Oracle