定义javascript对象属性

定义javascript对象属性,javascript,object,entities,Javascript,Object,Entities,如何以第一个InvoiceNo的值不会被第二个值替换的方式来表达这个javascript对象定义 EDIT

如何以第一个InvoiceNo的值不会被第二个值替换的方式来表达这个javascript对象定义

EDIT<我想要一个名为myObject的对象,该对象包含发票号数组。每个发票号都有一个相关的账单和发货号


据我所知,你在找这个

var myObject = { 
    "44444": {"ShipTo": 22345 , "BillTo": 43456 },
    "555555":{"ShipTo": 32345 , "BillTo": 33456 }
};

myObject[ "777777" ] = {"ShipTo": 88888 , "BillTo": 99999 }
或者这个

var myObject = { 
    "invoices": [
         {"invoice":"44444", "ShipTo": 22345 , "BillTo": 43456 },
         {"invoice":"555555", "ShipTo": 32345 , "BillTo": 33456 }
    ]
};

myObject.invoices.push( {"invoice":"777777", "ShipTo": 88888 , "BillTo": 99999 } )

在初始化
myObject
时,您不需要定义任何发票。您可以在以后动态添加它们:

var myObject = { 
    invoices: []
}

myObject.invoices.push({"invoice":"44444", "ShipTo": 22345 , "BillTo": 43456 });
myObject.invoices.push({"invoice":"555555", "ShipTo": 32345 , "BillTo": 33456 });

你可以做这样简单的事情:

var myObject = [
    {
        "InvoiceNo": 44444,
        "Shipping": { "ShipTo": 22345, "BillTo": 43456 }
    },
    {
        "InvoiceNo": 555555,
        "Shipping": { "ShipTo": 32345, "BillTo": 33456 }
    }
];
console.log(myObject[0].InvoiceNo); // 0 - the first object inside the array
console.log(myObject[0].Shipping.ShipTo); // access the "ShipTo" property of the first element
为了更复杂和更有效的东西


对不起,您能澄清一下您想要实现的目标吗?据我所见,您可以将第二张发票分配给另一个变量,例如
myOtherObject
。您正在寻找数组吗?这可能就是您所说的:
var objects=new Array()然后
对象。推(myObject)虽然不知道…您可以创建一个对象数组-包含单独的实例.Bakudan-或一个包含发票数组的对象?
“使用严格”
,但这可能不是您想要的:PYes,这是正确的方向!但是如果我把它分成两个或多个语句,每个新语句都会重击前一个语句。@mustaphagerge:所以你需要知道如何向对象中添加一个项?有点像。我想我需要一个对象,它包含一个发票号数组,每个发票号都有对象属性。也许我应该在这里使用一个数组?我不知道你所说的“每个发票号都有对象属性的数组”是什么意思。那更好。您首先使用数组定义对象,然后在数据存在时填充。美好的
var myObject = [
    {
        "InvoiceNo": 44444,
        "Shipping": { "ShipTo": 22345, "BillTo": 43456 }
    },
    {
        "InvoiceNo": 555555,
        "Shipping": { "ShipTo": 32345, "BillTo": 33456 }
    }
];
console.log(myObject[0].InvoiceNo); // 0 - the first object inside the array
console.log(myObject[0].Shipping.ShipTo); // access the "ShipTo" property of the first element