我有这段代码:
var dictionary=[
apple={name:"apple",pos:"noun",d:"",c:["fruit"]},
banana={name:"banana",pos:"noun",d:"",c:["fruit"]}
];
如何使用其名称字符串访问数组中的一个对象。以您可以访问对象的方式
object['propertyName']
有没有办法用数组做类似的事情?我希望以类似
的方式访问它 dictionary["apple"].pos
//Want to return "noun"
是否有一种简单的方法可以使用数组执行类似的操作,如果没有,是否可以使用其他方法?
答案 0 :(得分:3)
您生成dictionary
错误的方式;它在语法上是有效的,但它几乎肯定不你打算做什么。它没有将键apple
绑定到该对象。相反,它定义了一个名为apple
的隐式(全局)变量,并将该对象分配给该变量,以及该数组的第一个元素。
试试这个:
var dictionary= {
apple: {name:"apple",pos:"noun",d:"",c:["fruit"]},
banana: {name:"banana",pos:"noun",d:"",c:["fruit"]}
};
console.log(dictionary["apple"].pos); // "noun"
// This also works:
console.log(dictionary.apple.pos); // "noun"