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

那么我们会涉及到去重复,去掉为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 操作数组对象的更多相关文章
- js对数组对象的操作以及方法的使用
js对数组对象的操作以及方法的使用 如何声明创建一个数组对象: var arr = new Array(); 或者 var arr = []; 如何移除所有数组中数据? arrayJson.dataL ...
- JS操作数组常用的方法
JS操作Array对象的方法 concat(arr1,arr2,...):连接数组indexOf(value):返回数组中value的第一个索引join(separator):将数组中所有的元素连接由 ...
- js操作数组元素
一, 删除数组指定的某个元素 首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: Array.prototype.indexOf = function(val) ...
- js操作DOM对象
js操作DOM对象 (Document Object Model)文档对象模型 nodeType返回值 1:元素节点 2:属性节点 3:文本节点 8:注释节点 9: 文档节点 nodeName 节点 ...
- JS操作数组的常用方式
一.JS操作数组一:删除指定的元素 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目. //查找指定元素下标 Array.prototype.indexOf = function ...
- JsonCpp操作数组对象
JsonCpp操作数组对象 概述 Json格式数据中,除了简单的String类型和一些非String类型,也有像各种高级语言中的数组类型一般的数组对象,且Json数组在实际开发中使用频率也比较高, ...
- JS操作DOM对象——JS基础知识(四)
一.JavaScript的三个重要组成部分 (1)ECMAScript(欧洲计算机制造商协会) 制定JS的规范 (2)DOM(文档对象模型)重点学习对象 处理网页内容的方法和接口 (3)BOM(浏览器 ...
- js array数组对象操作方法汇总
--------------------------更新自2018.6.11 js 数组对象操作方法如下: 1. 创建数组 var array1 = [1,2] //方法一 var array2 = ...
- javascript、js操作json对象和字符串互相转换方法
相信前端的同学们对json并不陌生,接触过很多.但是很少人知道json的全称是什么,哈哈,我也是查资料知道的.(JSON JavaScript Object Notation是一种轻量级的数据交换格式 ...
随机推荐
- Ext.net NumberField要设置MinValue,MaxValue
<Items> <ext:NumberField ID="NumberField1" runat="server" FieldLabel=&q ...
- Excel复制粘贴假死
把打印机都删除了试一下. 如果还有问题,就把迅雷监听关掉.
- [译]Managing Vue.js State with Vuex
原文 准备 安装 Vuex, 是Vue官方出的package, 它不是Vue内置的.需要另外安装. npm install vuex --save 然后,需要在应用启动文件启用Vuex. main.j ...
- class按传递时分析
class FEF{ public: int a; FEF(int a,int b){ this->a = a*b; } }; void mam(FEF a){ printf("%d ...
- P2P的原理和常见的实现方式
参考资料:http://www.cppblog.com/peakflys/archive/2013/01/25/197562.html P2P实现的原理 首先先介绍一些基本概念: NAT(Net ...
- linux find 只获取文件名而去除路径
find /var/process_log/ -name '*.log' -exec basename {} \;
- lateinit 的使用限制
呢?使用lateinit关键字 lateinit var test:String //正确lateinit val test:String //错误lateinit var test:Float // ...
- mysql 开源 ~ canal+otter系列(2)
一 创建相应用户 源数据用户权限: GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO `retl`@'%'; 目的 ...
- Django实战(一)-----用户登录与注册系统4(表单)
我们前面都是手工在HTML文件中编写表单form元素,然后在views.py的视图函数中接收表单中的用户数据,再编写验证代码进行验证,最后使用ORM进行数据库的增删改查.这样费时费力,整个过程比较复杂 ...
- python,异常处理
# 该例子是对文件异常和类型异常分别进行的处理 try: sum = 1+' f=open('wo.txt') print(f.read()) f.close() except OSError as ...