我们在操作数组时,加入数组中是以对象的形式存在,例如:

那么我们会涉及到去重复,去掉为0的数组中的对象,js代码如下:

function getItemList(gid, totalMoney, addNum) {
var data = {
"SI_GID": gid,
"TotalMoney": totalMoney,
"TotalNum": addNum
}; if (addNum > 0) {
if (hotelList.length > 0) {
var Ishave = false;
var flag = 0;
for (var i = 0; i < hotelList.length; i++) {
if (hotelList[i]["SI_GID"] == gid) {
Ishave = true;
flag = i;
if (i == 0) {
flag = -1;
}
break;
}
}
if (!Ishave) {
hotelList.push(data);
}
if (flag > 0) {
hotelList[flag]["TotalMoney"] = totalMoney;
hotelList[flag]["TotalNum"] = addNum;
}
if (flag == -1) {
hotelList[0]["TotalMoney"] = totalMoney;
hotelList[0]["TotalNum"] = addNum;
}
}
else {
hotelList.push(data);
}
}
else {
for (var i = 0; i < hotelList.length; i++) {
if (hotelList[i]["SI_GID"] == gid) {
hotelList.splice(i, 1);
}
}
}
console.log(hotelList);
}

JS 操作数组对象的更多相关文章

  1. js对数组对象的操作以及方法的使用

    js对数组对象的操作以及方法的使用 如何声明创建一个数组对象: var arr = new Array(); 或者 var arr = []; 如何移除所有数组中数据? arrayJson.dataL ...

  2. JS操作数组常用的方法

    JS操作Array对象的方法 concat(arr1,arr2,...):连接数组indexOf(value):返回数组中value的第一个索引join(separator):将数组中所有的元素连接由 ...

  3. js操作数组元素

    一, 删除数组指定的某个元素 首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: Array.prototype.indexOf = function(val) ...

  4. js操作DOM对象

    js操作DOM对象  (Document Object Model)文档对象模型 nodeType返回值 1:元素节点 2:属性节点 3:文本节点 8:注释节点 9: 文档节点 nodeName 节点 ...

  5. JS操作数组的常用方式

    一.JS操作数组一:删除指定的元素 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目. //查找指定元素下标 Array.prototype.indexOf = function ...

  6. JsonCpp操作数组对象

    JsonCpp操作数组对象 概述 ​ Json格式数据中,除了简单的String类型和一些非String类型,也有像各种高级语言中的数组类型一般的数组对象,且Json数组在实际开发中使用频率也比较高, ...

  7. JS操作DOM对象——JS基础知识(四)

    一.JavaScript的三个重要组成部分 (1)ECMAScript(欧洲计算机制造商协会) 制定JS的规范 (2)DOM(文档对象模型)重点学习对象 处理网页内容的方法和接口 (3)BOM(浏览器 ...

  8. js array数组对象操作方法汇总

    --------------------------更新自2018.6.11 js 数组对象操作方法如下: 1. 创建数组 var array1 = [1,2] //方法一 var array2 = ...

  9. javascript、js操作json对象和字符串互相转换方法

    相信前端的同学们对json并不陌生,接触过很多.但是很少人知道json的全称是什么,哈哈,我也是查资料知道的.(JSON JavaScript Object Notation是一种轻量级的数据交换格式 ...

随机推荐

  1. Ext.net NumberField要设置MinValue,MaxValue

    <Items> <ext:NumberField ID="NumberField1" runat="server" FieldLabel=&q ...

  2. Excel复制粘贴假死

    把打印机都删除了试一下. 如果还有问题,就把迅雷监听关掉.

  3. [译]Managing Vue.js State with Vuex

    原文 准备 安装 Vuex, 是Vue官方出的package, 它不是Vue内置的.需要另外安装. npm install vuex --save 然后,需要在应用启动文件启用Vuex. main.j ...

  4. class按传递时分析

    class FEF{ public: int a; FEF(int a,int b){ this->a = a*b; } }; void mam(FEF a){ printf("%d ...

  5. P2P的原理和常见的实现方式

    参考资料:http://www.cppblog.com/peakflys/archive/2013/01/25/197562.html P2P实现的原理 首先先介绍一些基本概念:    NAT(Net ...

  6. linux find 只获取文件名而去除路径

    find /var/process_log/ -name '*.log' -exec basename {} \;

  7. lateinit 的使用限制

    呢?使用lateinit关键字 lateinit var test:String //正确lateinit val test:String //错误lateinit var test:Float // ...

  8. mysql 开源 ~ canal+otter系列(2)

    一 创建相应用户    源数据用户权限: GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO `retl`@'%';    目的 ...

  9. Django实战(一)-----用户登录与注册系统4(表单)

    我们前面都是手工在HTML文件中编写表单form元素,然后在views.py的视图函数中接收表单中的用户数据,再编写验证代码进行验证,最后使用ORM进行数据库的增删改查.这样费时费力,整个过程比较复杂 ...

  10. python,异常处理

    # 该例子是对文件异常和类型异常分别进行的处理 try: sum = 1+' f=open('wo.txt') print(f.read()) f.close() except OSError as ...