Javascript JSON:loop Invoice Items:如果InvoiceNo不存在,则添加,如果存在,则更新值,包括示例
我正在尝试循环查看发票列表,以及它们各自的行项目值, 最后有一个[object Array]的Ojbect,带有发票号和每个发票的所有行项目的总值Javascript JSON:loop Invoice Items:如果InvoiceNo不存在,则添加,如果存在,则更新值,包括示例,javascript,json,loops,items,Javascript,Json,Loops,Items,我正在尝试循环查看发票列表,以及它们各自的行项目值, 最后有一个[object Array]的Ojbect,带有发票号和每个发票的所有行项目的总值 var objInvoiceLineItem = function (strInvoiceNo,strValue) { this.InvoiceNo= strInvoiceNo; this.Value = strValue; } // // 我认为这样的事情可以满足你的要求: function AddValueTo_objAllIn
var objInvoiceLineItem = function (strInvoiceNo,strValue) {
this.InvoiceNo= strInvoiceNo;
this.Value = strValue;
}
//
//
我认为这样的事情可以满足你的要求:
function AddValueTo_objAllInvoices(myInvoice)
{
for (var i = 0; i < objAllInvoices.length; i++)
{
if (objAllInvoices[i].InvoiceNo == myInvoice.InvoiceNo)
{
// invoice exists, update it and return
objAllInvoices[i].Value += myInvoice.Value;
return;
}
}
// if the invoice already existed, we would have returned in the loop
// so we wouldn't have ever gotten here, so the invoice must not exist.
// create it now:
var newObjInvoiceItem = new objInvoiceLineItem(myInvoice.Container, myInvoice.Value);
objAllInvoices.push(newObjInvoiceItem);
}
函数AddValueTo_objAllInvoices(myInvoice)
{
for(var i=0;i
需要问一个特定的问题,让人们知道如何提供帮助。抱歉,我需要一些帮助来检查物品是否已经存在于ObjAllInvoices[]请,我想我将能够更新发票。当我获得关于物品存在的帮助时,我会进行估价。谢谢。发票号码是否保证是唯一的?
function AddValueTo_objAllInvoices(myInvoice){
//don't know how to look and see if the Invoice exists?
//jQuery.inArray?
//for (var i = 0; i < objAllInvoices.length - 1; i++)?
if exists (myInvoice.InvoiceNo) = false{
var newObjInvoiceItem=
new objInvoiceLineItem(myInvoice.InvoiceNo, myInvoice.Value);
objAllInvoices.push(newObjInvoiceItem)
}
else{
//need help here please
var obj = getobject;
objAllInvoices.obj.Value += myInvoice.Value;
}
}
var Invoice1A = new objInvoiceLineItem("Invoice1",20);
var Invoice1B = new objInvoiceLineItem("Invoice1",50);
var Invoice2A = new objInvoiceLineItem("Invoice2",30);
AddValueTo_objAllInvoices(Invoice1A);
AddValueTo_objAllInvoices(Invoice1B);
AddValueTo_objAllInvoices(Invoice2A);
function AddValueTo_objAllInvoices(myInvoice)
{
for (var i = 0; i < objAllInvoices.length; i++)
{
if (objAllInvoices[i].InvoiceNo == myInvoice.InvoiceNo)
{
// invoice exists, update it and return
objAllInvoices[i].Value += myInvoice.Value;
return;
}
}
// if the invoice already existed, we would have returned in the loop
// so we wouldn't have ever gotten here, so the invoice must not exist.
// create it now:
var newObjInvoiceItem = new objInvoiceLineItem(myInvoice.Container, myInvoice.Value);
objAllInvoices.push(newObjInvoiceItem);
}