只是一个简单的问题,我真的想要一个答案,因为我不理解它100%
的Javascript
示例:假设您提示用户输入该名称。够简单吧?但你有一个数组说明了几个名字(其中一个是有的)sooo基本上是我到目前为止所说的:
var names = new Array("bob", "joe", "steve", "sabrina");
您提示用户输入名称,他们输入“bob”。但是现在你只想显示Bob的年龄,它也位于你的数组中:
var ages = new Array("12","45","32","22");
姓名和年龄是一样的,就像顺序一样。所以鲍勃现在是12岁,乔45岁等,回到我的主要问题。由于用户输入“Bob”,您将如何显示年龄“12”,或者如果用户输入“joe”显示“45”?
感谢您的时间! (:
P.S。有关此主题的所有其他信息和事实表示赞赏!
答案 0 :(得分:2)
尝试
ages[names.indexOf("bob")]; // 12
请注意,对象(关联数组)对于此类数据会更好。例如:
ages = {
bob: 12,
joe: 45,
// etc.
};
现在你可以这样做:
ages.bob; // 12
或者:
var name = 'bob';
ages[name]; // 12
据我所知,对象“indexOf”实际上并不适用于所有浏览器,是否有另一种使用数组输出数据的方法? - 49秒前的Ryanrrjk
indexOf
基本上适用于除IE8之外的所有内容。如果您需要支持IE8或更低版本,可以使用垫片,例如:
Array.prototype.indexOf = function(item) {
var i = this.length;
while (i-- > 0) if (this[i] === item) return i;
return -1;
}