组合/匹配数组

时间:2013-11-26 01:47:47

标签: javascript arrays

只是一个简单的问题,我真的想要一个答案,因为我不理解它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。有关此主题的所有其他信息和事实表示赞赏!

1 个答案:

答案 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;
}