JavaScript实现的类字典插入或更新方法实例
本文实例讲述了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中创建字典对象(dictionary)实例
对于JavaScript来说,其自身的Array对象仅仅是个数组,无法提供通过关键字来获取保存的数据,jQuery源码中提供了一种非常好的方式来解决这个问题,先看一下源码: 复制代码 代码如下: function createCache() { var keys = []; function cache(key, value) { // Use (key + " ") to avoid collision with native prototype // properties
-
js中哈希表的几种用法总结
1. 复制代码 代码如下: <html><head><script type="text/javascript">// by Go_Rush(我们) from http://www.jb51.net/ var hash={ "百度" :"http://www.baidu.com/", "Google" :"http://www.go
-
JavaScript中实现键值对应的字典与哈希表结构的示例
字典(Dictionary)的javascript实现 编程思路: 使用了裸对象datastore来进行元素存储: 实现了两种得到字典长度的方法,一种为变量跟踪,一种为实时计算. 代码: function(){ "use strict"; function Dictionary(){ this._size = 0; this.datastore = Object.create(null); } Dictionary.prototype.isEmpty = function(){ ret
-
javascript 哈希表(hashtable)的简单实现
首先简单的介绍关于属性的一些方法: 属性的枚举: for/in循环是遍历对象属性的方法.如 复制代码 代码如下: var obj = { name : 'obj1', age : 20, height : '176cm' } var str = ''; for(var name in obj) { str += name + ':' + obj[name] + '\n'; } alert(str); 输出为:name:obj1 age:20 height:176cm 检查属性是否存在: in运算
-
JavaScript实现的类字典插入或更新方法实例
本文实例讲述了JavaScript实现的类字典插入或更新方法.分享给大家供大家参考.具体如下: 代码表述了类字典插入或更新的相关思想,感兴趣的朋友主要看懂代码意思就行,不必过于深究 <script type="text/javascript"> function insertOrUpdate(array, keyName, keyVal, fieldNames, fieldVals) { var hasExist = false; var len = array.lengt
-
JavaScript中十种一步拷贝数组的方法实例详解
JavaScript中我们经常会遇到拷贝数组的场景,但是都有哪些方式能够来实现呢,我们不妨来梳理一下. 1.扩展运算符(浅拷贝) 自从ES6出现以来,这已经成为最流行的方法.它是一个很简单的语法,但是当你在使用类似于React和Redux这类库时,你会发现它是非常非常有用的. numbers = [1, 2, 3]; numbersCopy = [...numbers]; 这个方法不能有效的拷贝多维数组.数组/对象值的拷贝是通过引用而不是值复制. // numbersCopy.push(4);
-
ES6 javascript中class类的get与set用法实例分析
本文实例讲述了ES6 javascript中class类的get与set用法.分享给大家供大家参考,具体如下: 与 ES5 一样, 在 Class 内部可以使用get和set关键字, 对某个属性设置存值函数和取值函数, 拦截该属性的存取行为. class MyClass { constructor() { // ... } get prop() { return 'getter'; } set prop(value) { console.log('setter: ' + value); } }
-
javascript带回调函数的异步脚本载入方法实例分析
本文实例讲述了javascript带回调函数的异步脚本载入方法.分享给大家供大家参考.具体实现方法如下: var Loader = function () { } Loader.prototype = { require: function (scripts, callback) { this.loadCount = 0; this.totalRequired = scripts.length; this.callback = callback; for (var i = 0; i < scri
-
Visual C#类的定义及实现方法实例解析
本文实例演示了visual C#下一个类的定义及实现方法,虽然是一个较为基础的C#代码实例,对于新手来说仍然有很好的参考价值. 具体的实例代码如下: using System; public class Desk//基类Desk { protected int length;//保护成员 protected int width; protected int height; //类Desk的构造函数 public Desk( ) { length = 0; width = 0; height =
-
利用For循环遍历Python字典的三种方法实例
目录 前言 方法 1:使用 For 循环 + 索引进行迭代 方法 2:使用 .keys( ) + 索引进行迭代 方法 3:使用 .items( ) 进行迭代 进阶:遍历嵌套字典 总结 前言 在Python中,如何使用“for”循环遍历字典? 今天我们将会演示三种方法,并学会遍历嵌套字典. 在实战前,我们需要先创建一个模拟数据的字典. dict_1 = {'Name': 'Zara', 'Age': 7, 'Class': 'First','Address':'Beijing'} 方法 1:使用
-
Yii2 批量插入、更新数据实例
在使用yii2开发项目时,有时候会遇到这样的情况: 向后台发送多条数据,其中一些数据已经存在记录,只需要对其部分字段的值进行修改;而另一部分的数据则需要新添加进去. 这就需要对添加的数据进行判断,其中一些执行update,剩下的执行insert 代码如下,不对的地方请指教: //批量更新,并将需要批量插入的数据放入数组中 foreach($goods as $k => $v) { if(yourModel::updateAllCounters( ['goods_num' => $v], ['g
-
JavaScript中创建类/对象的几种方法总结
在JS中,创建对象(Create Object)并不完全是我们时常说的创建类对象,JS中的对象强调的是一种复合类型,JS中创建对象及对对象的访问是极其灵活的. JS对象是一种复合类型,它允许你通过变量名存储和访问,换一种思路,对象是一个无序的属性集合,集合中的每一项都由名称和值组成(听起来是不是很像我们常听说的HASH表.字典.健/值对?),而其中的值类型可能是内置类型(如number,string),也可能是对象. 一.由一对大括号括起来 复制代码 代码如下: var emptyObj = {
-
php封装db类连接sqlite3数据库的方法实例
前言 SQLite3扩展名在PHP 5.3.0+以上都会默认启用.可以在编译时使用--without-sqlite3来禁用它. Windows用户可通过启用php_sqlite3.dll才能使用此扩展. php_sqlite3.dll默认包含在PHP 5.3.0之后的PHP发行版中. 有关详细的安装说明,请查看PHP教程及其官方网站. 本文主要介绍了关于php封装db类连接sqlite3的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 示例代码: <?php clas
-
python字典多条件排序方法实例
项目编写过程中,总能遇见对字典进行排序什么的,如果要实现多条件排序只需要下面几行代码实现.充分体现了python的好处了. 复制代码 代码如下: teamitems = [{'team':'France' , 'P':1 , 'GD':-3 , 'GS':1 , 'GA':4}, {'team':'Uruguay' , 'P':7 , 'GD':4 , 'GS':4 , 'GA':0}, {'team':'SouthAfrica'
随机推荐
- Web移动端Fixed布局的解决方案
- oracle中if/else的三种实现方式详解
- c#处理3种json数据的实例
- SQL Server 2008中SQL之WaitFor使用介绍
- springboot整合Quartz实现动态配置定时任务的方法
- 再推荐十款免费的php开发工具
- 程序中获取linux系统启动时间方法
- Windows系统下安装Python的SSH模块教程
- javascript 函数式编程
- asp.net下Request.QueryString取不到值的解决方法
- C#中嵌入SQLite数据库的简单方法
- 不错的asp中显示新闻的功能
- jQuery的图片轮播插件PgwSlideshow使用详解
- 基于jQuery实现页面搜索功能
- android弹出activity设置大小的方法
- 打包上传asp网站
- C++二维数组中的查找算法示例
- django用户注册、登录、注销和用户扩展的示例
- 浅析Redis分布式锁
- vue组件(全局,局部,动态加载组件)