如何创build用户定义的types(ala C#)在JavaScript中的对象中使用?
在C#中,我可以创build一个充当用户定义types的类,例如:
Public Class FullName { string FirstName; string LastName; } Public Class Address { string Line1; string Line2; string City; string State; string Zip; }
然后我可以创build:
Public Class Person { FullName Name; Address HomeAddress; Address WorkAddress; }
这使我可以像这样引用数据:
Person Bob; Bob.WorkAddress.Line1 = "123 Sycamore Rd"; Bob.HomeAddress.Line1 = "1313 MockingBird Ln"; Bob.FullName.LastName = "Smith"; etc...
最终,我想创build一个Person的二维数组,所以我不想硬编码(预先填充?)数据,直到我知道它是什么。
我希望能够在JavaScript(特别是node.js)中做同样的事情,但似乎无法find一个明显的方式。 这只是从根本上来说是错误的方法,还是我错过了什么?
在Javascript中,您可以直接创build数据对象(无类):
var bob = { workAddress: { line1: "123 Sycamore" }, fullName: { lastName: "Smith" } };
也可以创build一个类,但通常不需要单纯的数据对象。
最终,我想创build一个Person的二维数组,所以我不想硬编码(预先填充?)数据,直到我知道它是什么。
您可以创build一个数组,然后添加人员:
var persons = []; ... persons.push(bob);
对于二维数组,创build一个包含人物数组的数组:
var persons2D = []; ... persons2D.push(persons);
JavaScript对象及其符号的一个很好的例子是JSON.org
这是一个有2个string属性的对象,以及一个数组的第三个属性。 有一点区别是,因为JavaScript没有强types,“居民”属性可能只是一个简单的string或数组。 所以在parsing时必须小心,因为任何属性都可以是string或其他数组。
var household = { address: "1234 N 56th st" , city: "somewhere" , residents: [ { Name: "My Name" } , { Name: "My Alias" } ] };
现在,根据您如何获取数据,您可以使用C#中的JavaScript或JSON(de)序列化方法来填充。