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 相关文章推荐
jquery easyui combox一些实用的小方法
Dec 25 Javascript
JavaScript中的toLocaleLowerCase()方法使用详解
Jun 06 Javascript
BootStrap的alert提示框的关闭后再显示怎么解决
May 17 Javascript
详解springmvc 接收json对象的两种方式
Dec 06 Javascript
原生JS实现图片无缝滚动方法(附带封装的运动框架)
Oct 01 Javascript
node.js环境搭建图文详解
Sep 19 Javascript
layui给下拉框、按钮状态、时间赋初始值的方法
Sep 10 Javascript
JS Thunk 函数的含义和用法实例总结
Apr 08 Javascript
一文读懂vue动态属性数据绑定(v-bind指令)
Jul 20 Javascript
Vue中父子组件的值传递与方法传递
Sep 28 Javascript
vue实现表格合并功能
Dec 01 Vue.js
JS操作JSON常用方法(10w阅读)
Dec 06 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
PHP 使用pcntl和libevent 实现Timer功能
2013/10/27 PHP
PHP获取用户访问IP地址的5种方法
2016/05/16 PHP
PHP数据库表操作的封装类及用法实例详解
2016/07/12 PHP
PHP实现json_decode不转义中文的方法
2017/05/20 PHP
JavaScript 监听textarea中按键事件
2009/10/08 Javascript
Javascript 入门基础学习
2010/03/10 Javascript
cnblogs中在闪存中屏蔽某人的实现代码
2010/11/14 Javascript
利用JS进行图片的切换即特效展示图片
2013/12/03 Javascript
JS、jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例分享
2014/04/11 Javascript
javascript 动态修改css样式方法汇总(四种方法)
2015/08/27 Javascript
JavaScript判断用户名和密码不能为空的实现代码
2016/05/16 Javascript
BootStrap智能表单实战系列(四)表单布局介绍
2016/06/13 Javascript
关于jQuery里prev()的简单操作代码
2017/10/27 jQuery
Babel 入门教程学习笔记
2018/06/13 Javascript
详解webpack import()动态加载模块踩坑
2018/07/17 Javascript
vue+高德地图实现地图搜索及点击定位操作
2020/09/09 Javascript
Vue toFixed保留两位小数的3种方式
2020/10/23 Javascript
Vue使用Element实现增删改查+打包的步骤
2020/11/25 Vue.js
[42:20]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python-opencv 双线性插值实例
2020/01/17 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
在python3中实现更新界面
2020/02/21 Python
python logging模块的使用
2020/09/07 Python
HTML5 video 视频标签使用介绍
2014/02/03 HTML / CSS
兰蔻加拿大官方网站:Lancome加拿大
2016/08/05 全球购物
英国家喻户晓的家居商店:The Range
2019/03/25 全球购物
GC是什么?为什么要有GC?
2013/12/08 面试题
小学教师的自我评价范例
2013/10/31 职场文书
医学生自我评价
2014/01/27 职场文书
学习优秀共产党员先进事迹思想报告
2014/09/17 职场文书
技术股东合作协议书
2014/12/02 职场文书
公务员年度考核评语
2014/12/31 职场文书
焦裕禄纪念馆观后感
2015/06/09 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
读《教育心理学》心得体会
2016/01/22 职场文书
通过Qt连接OpenGauss数据库的详细教程
2021/06/23 PostgreSQL