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的表头固定的若干方法
Jan 27 Javascript
利用cookie记住背景颜色示例代码
Nov 04 Javascript
在JavaScript中处理数组之reverse()方法的使用
Jun 09 Javascript
深入理解JS addLoadEvent函数
May 20 Javascript
js鼠标单击和双击事件冲突问题的快速解决方法
Jul 11 Javascript
简单的js表格操作
Sep 24 Javascript
基于Bootstrap的网页设计实例
Mar 01 Javascript
js闭包学习心得总结
Apr 17 Javascript
no-vnc和node.js实现web远程桌面的完整步骤
Aug 11 Javascript
利用layer实现表单完美验证的方法
Sep 26 Javascript
vue实现在v-html的html字符串中绑定事件
Oct 28 Javascript
微信小程序图片自适应实现解析
Jan 21 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
ThinkPHP CURD方法之limit方法详解
2014/06/18 PHP
php中array_unshift()修改数组key注意事项分析
2016/05/16 PHP
Javascript remove 自定义数组删除方法
2009/10/20 Javascript
Javascript 定时器调用传递参数的方法
2009/11/12 Javascript
jquery 3D球状导航的文章分类
2010/07/06 Javascript
IE6/7/8/9不支持exec的简写方式
2011/05/25 Javascript
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
2012/03/14 Javascript
js setTimeout 常见问题小结
2013/08/13 Javascript
详解react-router如何实现按需加载
2017/06/15 Javascript
Mint UI 基于 Vue.js 移动端组件库
2017/11/07 Javascript
vue与vue-i18n结合实现后台数据的多语言切换方法
2018/03/08 Javascript
js设计模式之单例模式原理与用法详解
2019/08/15 Javascript
Python简单日志处理类分享
2015/02/14 Python
用Python编写简单的定时器的方法
2015/05/02 Python
python实现实时监控文件的方法
2016/08/26 Python
Selenium元素的常用操作方法分析
2018/08/10 Python
python得到windows自启动列表的方法
2018/10/14 Python
pycharm重置设置,恢复默认设置的方法
2018/10/22 Python
Python自定义一个类实现字典dict功能的方法
2019/01/19 Python
python3中property使用方法详解
2019/04/23 Python
django中上传图片分页三级联动效果的实现代码
2019/08/30 Python
pytorch实现focal loss的两种方式小结
2020/01/02 Python
在python3中使用shuffle函数要注意的地方
2020/02/28 Python
Python多进程multiprocessing、进程池用法实例分析
2020/03/24 Python
Pytorch之扩充tensor的操作
2021/03/04 Python
你正在寻找的CSS3 动画技术
2011/07/27 HTML / CSS
详解html5页面 rem 布局适配方法
2018/01/12 HTML / CSS
美国美妆网站:B-Glowing
2016/10/12 全球购物
上海方立数码笔试题
2013/10/18 面试题
c++工程师面试问题
2013/08/04 面试题
社区工作者思想汇报
2014/01/13 职场文书
教学大赛获奖感言
2014/01/15 职场文书
企业领导对照检查材料
2014/08/20 职场文书
贫困证明模板(3篇)
2014/09/16 职场文书
2014年发展党员工作总结
2014/11/12 职场文书
关于分班的感言
2015/08/04 职场文书