Javascript传递字符串以创建对象名(noob)

Javascript传递字符串以创建对象名(noob),javascript,arrays,object,Javascript,Arrays,Object,好的,我已经学习了使用函数在数组中创建未命名对象的教程 给定一个名为contacts的数组,其中存在两个命名对象: function add(firstName, lastName, phoneNumber, email) { contacts[contacts.length] = { firstName: firstName, lastName: lastName, phoneNumber: phoneNumber, email: email }; }

好的,我已经学习了使用函数在数组中创建未命名对象的教程 给定一个名为contacts的数组,其中存在两个命名对象:

function add(firstName, lastName, phoneNumber, email) {

contacts[contacts.length] = {
    firstName: firstName,
    lastName: lastName,
    phoneNumber: phoneNumber,
    email: email
    };
}

add("Buddy", "King", "312-555-5555", "buddy@email.biz");
这将添加未命名的对象。但是如果我想给新对象起个名字,我该怎么办呢?我想使用第一个参数“Buddy”作为对象名,因此将字符串转换为???

使用此(关联数组):

现在您可以通过
联系人['Buddy']
获取“Buddy”条目。
请注意,JS中的所有数组都是关联的,但编号的数组看起来不太像。

给对象命名?有点不清楚你在问什么。您可以发布一个“命名”对象的示例吗?您是否正在尝试更改已存在的条目?并通过按名字搜索来查找条目?阅读。从长远来看,它会对你有所帮助。不要太过文字化,但是没有关联数组这样的东西。有数组和对象。数组是对象。对象具有属性。在数组上设置属性(不是数字)几乎没有什么好的理由。数组用于数字索引和提供的特定方法(
push
pop
等),这些方法操作数据的内部表示(反映在
length
属性中)。我认为你的解决方案很理想,但是联系人应该是一个对象文本(
{}
),而不是数组(
[]
)@Ian:谢谢你指出这一点。我不想详细讨论对象、具有数组行为的对象和缺少数组行为的明显数组(例如
参数
),以及可以在Crockford的好部分中查找的其他本质。当然,
contacts={}。不同之处在于,JS只有关联性(从任意键到对象),而没有实际的索引(或地址偏移,如在C和C++中)。从这个意义上说,所有对象都使用关联性,因此数组也使用关联性。但这对于评论来说已经太长了:)谢谢,终于习惯了JS语言,所以现在我知道你的意思了!我猜我应该做的是创建一个原型,然后创建原型的一个新实例(Buddy对象)。
contacts[firstName] = {
    firstName: firstName,
    lastName: lastName,
    phoneNumber: phoneNumber,
    email: email
};