之前写过一篇文章,但是很模糊,不过却给我提供了一个思路,所以没有删除,这次写的是一个完善版本!

因为在很多的时候我们在选中了几行数据,然后存放在Array中,如下图:

看下控制台的数据

我双击了这两个项目

然后我们看看控制台的数据:

数量已经加1了,代码如下:

var _historyData = new Array();
function BindGoodsTab(goodsId, goodsName, goodsPrice) {
var _html = "";
var _data = {};
_data["id"] = parseInt(goodsId);
_data["GoodsName"] = goodsName;
_data["GoodsNum"] = 1;
_data["GoodsPrice"] = parseFloat(goodsPrice);
var _len = _historyData.length; var _Ishave = false;
var _flag = 0;
if (_historyData.length > 0) {
for (var i = 0; i < _len; i++) {
var _hGid = parseInt(_historyData[i]["id"]);
if (_data["id"] == _hGid) {
_flag = i;
_Ishave = true;
break;
}
}
console.log(_flag);
if (!_Ishave) {
_historyData.push(_data);
}
else {
_historyData[_flag]["GoodsNum"] = parseInt(_historyData[_flag]["GoodsNum"]) + 1;
}
}
else {
_historyData.push(_data);
}
console.log(_historyData);
$("#goodsList").html(_html);
}

删除某一个对象:如下图

控制台:

代码:

function DelLease(goodsId) {
for (var i = 0; i < _historyData.length; i++) {
if (goodsId == _historyData[i]["id"]) {
_historyData.splice(i, 1);
}
}
CreateLeaseTab(_historyData);
}
function CreateLeaseTab(_historyData) {
var _html = "";
var _totalMoney = 0;
for (var i = 0; i < _historyData.length; i++) {
_html += "<tr style='border-top:1px solid #ccc;'>";
_html += "<td style='width:160px;padding:7px 0px;'>" + _historyData[i]["GoodsName"] + "</td>";
_html += "<td style='width:60px;'>" + _historyData[i]["GoodsNum"] + "</td>";
_html += "<td style='width:100px;'>" + _historyData[i]["GoodsPrice"].toFixed(2) + "</td>";
_html += "<td style='width:100px;'>" + _historyData[i]["GoodsTotalPrice"].toFixed(2) + "</td>";
_html += "<td style='width:100px;'><img src='../images/Gift/del.png' onclick='DelLease(" + _historyData[i]["id"] + ")' /></td>";
_totalMoney += parseFloat(_historyData[i]["GoodsTotalPrice"].toFixed(2));
}
$("#goodsList").html(_html);
$("#totalMoney").html(_totalMoney.toFixed(2));
console.log(_historyData);
}

Js操作Array数组的更多相关文章

  1. JS中Array数组的三大属性用法

    原文:JS中Array数组的三大属性用法 Array数组主要有3大属性,它们分别是length属性.prototype属性和constructor属性. JS操作Array数组的方法及属性 本文总结了 ...

  2. 多动手试试,其实List类型的变量在页面上取到的值可以直接赋值给一个js的Array数组变量

    多动手试试,其实List类型的变量在页面上取到的值可以直接赋值给一个js的Array数组变量,并且数组变量可以直接取到每一个元素var array1 = '<%=yearList =>'; ...

  3. js中Array数组基本方法

    总结:push() 添加元素到数组未尾, 返回数组长度 unshift() 添加元素到数组头部, 返回数组长度 pop() 删除数组未尾元素, 返回删除元素 shift() 删除数组头部元素, 返回删 ...

  4. js中Array数组的属性和方法

    这是我自己整理出来的一些关于Array数组的属性和方法,即查即用. 1.Array.length属性:数组的项数组,始终返回0或者更大的值. 2.instanceof操作符:value instanc ...

  5. JS对象 Array 数组对象 数组对象是一个对象的集合,里边的对象可以是不同类型的。数组的每一个成员对象都有一个“下标”,用来表示它在数组中的位置,是从零开始的

    Array 数组对象 数组对象是一个对象的集合,里边的对象可以是不同类型的.数组的每一个成员对象都有一个"下标",用来表示它在数组中的位置,是从零开始的 数组定义的方法: 1. 定 ...

  6. JS判断Array数组中是否包含指定元素

    1.调用方式: var arr=["a","b"]; alert(arr.in_array("a")) 2.JS判断数组是否包含指定元素方法 ...

  7. Js中Array数组学习总结

    第一次写博客...有点方... 小白一枚(是真的小白),自学前端,下面来说说我在学习过程中总结的一些数组操作,如果说哪有错误,请各位大神多多指出,小的虚心接受. 引用类型分为Object类型(所谓的对 ...

  8. js清空array数组的方法

    方式1,splice Js代码   ,,,}; ary.length = ; Java中会报错,编译通不过. 而JS中则可以,且将数组清空了,如 Js代码   var ary = [1,2,3,4]; ...

  9. js删除Array数组中的某个元素

    Array.prototype.indexOf = function (val) { ; i < this.length; i++) { if (this[i] == val) return i ...

随机推荐

  1. exec存储过程示例

    假如存储过程为test,两个参数为aa,bb那么有以下两种写法,不要带括号EXEC [dbo].[test] @aa = 111, @bb = 222 exec test 111,222

  2. 使用 CROSS APPLY 与 OUTER APPLY 连接查询

    Ø  前言 日常开发中遇到多表查询时,首先会想到 INNER JOIN 或 LEFT OUTER JOIN 等等,但是这两种查询有时候不能满足需求.比如,左表一条关联右表多条记录时,我需要控制右表的某 ...

  3. 使用select正确处理EOF的str_cli函数

    void str_cli(FILE *fp, int sockfd) { int maxfdp1, stdineof; fd_set rset; char buf[MAXLINE]; int n; s ...

  4. Inline Route Constraints in ASP.NET Core MVC

    原文 ASP.NET MVC5和Web API2的一个新特性是attribute routing, 通过它我们可以使用[Route]来定义路由模板: public class MessagesCont ...

  5. mysql 单表更新记录UPDATE

    1.单表更新 (1)mysql> SELECT * FROM users;+----+----------+----------+-----+------+| id   | username | ...

  6. DateTime时间格式转换为Unix时间戳格式

    /// <summary> /// 将DateTime时间格式转换为Unix时间戳格式 /// </summary> /// <param name="date ...

  7. /*+ hint*/用法,该如何解决

    /*+ use_hash(b, a)*/用法SELECT /*+ use_hash(b, a)*/  1,  NVL(b.AgentWorkGroup, ' '),  ................ ...

  8. 数据库设计理论与实践·<三>物理设计

    一.物理设计核心任务与关键细节 二.物理设计经验之谈 1.数据类型的设计:建议字段数据类型定义时结合以下几点(以MYSQL为例) 1)不适用image,而使用varbinary等 2)不使用text和 ...

  9. Codeforces Round #450 (Div. 2) C. Remove Extra One

    题目链接 题意:让你去掉一个数,使得剩下的数的record最多,当1≤j<i的aj<ai1 \leq j< i的a_j<a_i1≤j<i的aj​<ai​时aia_i ...

  10. Python操作Redis数据库

    连接数据库 StrictRedis from redis import StrictRedis # 使用默认方式连接到数据库 redis = StrictRedis(host='localhost', ...