Js操作Array数组
之前写过一篇文章,但是很模糊,不过却给我提供了一个思路,所以没有删除,这次写的是一个完善版本!
因为在很多的时候我们在选中了几行数据,然后存放在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数组的更多相关文章
- JS中Array数组的三大属性用法
原文:JS中Array数组的三大属性用法 Array数组主要有3大属性,它们分别是length属性.prototype属性和constructor属性. JS操作Array数组的方法及属性 本文总结了 ...
- 多动手试试,其实List类型的变量在页面上取到的值可以直接赋值给一个js的Array数组变量
多动手试试,其实List类型的变量在页面上取到的值可以直接赋值给一个js的Array数组变量,并且数组变量可以直接取到每一个元素var array1 = '<%=yearList =>'; ...
- js中Array数组基本方法
总结:push() 添加元素到数组未尾, 返回数组长度 unshift() 添加元素到数组头部, 返回数组长度 pop() 删除数组未尾元素, 返回删除元素 shift() 删除数组头部元素, 返回删 ...
- js中Array数组的属性和方法
这是我自己整理出来的一些关于Array数组的属性和方法,即查即用. 1.Array.length属性:数组的项数组,始终返回0或者更大的值. 2.instanceof操作符:value instanc ...
- JS对象 Array 数组对象 数组对象是一个对象的集合,里边的对象可以是不同类型的。数组的每一个成员对象都有一个“下标”,用来表示它在数组中的位置,是从零开始的
Array 数组对象 数组对象是一个对象的集合,里边的对象可以是不同类型的.数组的每一个成员对象都有一个"下标",用来表示它在数组中的位置,是从零开始的 数组定义的方法: 1. 定 ...
- JS判断Array数组中是否包含指定元素
1.调用方式: var arr=["a","b"]; alert(arr.in_array("a")) 2.JS判断数组是否包含指定元素方法 ...
- Js中Array数组学习总结
第一次写博客...有点方... 小白一枚(是真的小白),自学前端,下面来说说我在学习过程中总结的一些数组操作,如果说哪有错误,请各位大神多多指出,小的虚心接受. 引用类型分为Object类型(所谓的对 ...
- js清空array数组的方法
方式1,splice Js代码 ,,,}; ary.length = ; Java中会报错,编译通不过. 而JS中则可以,且将数组清空了,如 Js代码 var ary = [1,2,3,4]; ...
- js删除Array数组中的某个元素
Array.prototype.indexOf = function (val) { ; i < this.length; i++) { if (this[i] == val) return i ...
随机推荐
- js 格式化时间
Date.prototype.format = function(format) { var date = { , "d+": this.getDate(), "h+&q ...
- PHP调用API接口实现天气查询功能
天气预报查询接口API,在这里我使用的是国家气象局天气预报接口 使用较多的还有:新浪天气预报接口.百度天气预报接口.google天气接口.Yahoo天气接口等等. 1.查询方式 根据地名查询各城市天气 ...
- C# 常用的工具方法
1.DateTime 转为Unix的long的时间戳 long orderTime = order.AddTime.ToUnixTimeStamp("Milliseconds"); ...
- Linux或UNIX系统配置检查
1. Linux或UNIX系统配置检查 系统配置的扫描是基于被动式策略进行扫描,主要检测主机上是否存在配置错误或者不符合预定义的安全策略的配置,通常需要管理员权限才能执行的扫描. 在Linux或UNI ...
- 2.4 if-else
if-else 想一想:在使用if的时候,它只能做到满足条件时要做的事情.那万一需要在不满足条件的时候,做某些事,该怎么办呢? 答:使用 if-else <1>if-else的使用格式 i ...
- TensorFlow从入门到理解(二):你的第一个神经网络
运行代码: from __future__ import print_function import tensorflow as tf import numpy as np import matplo ...
- producer发布消息
1.写入方式 producer采用push模式将消息发布到broker,每条消息都被append到patition中,属于顺序写磁盘(顺序写磁盘效率比随机写内存要高,保障kafka吞吐率) 2.消息路 ...
- 【报错】java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[
报错 java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleExce ...
- Maven项目配置logback
首先,在pom.xml中加入maven依赖 <!-- log start --> <dependency> <groupId>org.slf4j</group ...
- 清除redis缓存
redis-cli -p 6379(指定进入端口号为6379的redis数据库)1.清空当前redis数据库缓存flushdb 2.清空整个redis缓存flushall