【发布时间】:2014-05-31 05:36:56
【问题描述】:
编辑:不要这样做。这是我刚接触编程时尝试过的一种愚蠢的做法
我有一个数组中的 32 条数据的列表,它们像这样配对
"foo:bar","baz:example","cat:dog"
并且我想遍历该数组并在与用户输入匹配的对上停止。因此,例如,如果用户输入“foo”,它将分别返回“foo”和“bar”,如果用户输入“bar”,它将同时返回“foo”和“bar”。没有重复的值。
现在我有一个带有if 语句的大表。所以if用户的输入是x,那么它就返回了正确的值。我必须手动进行匹配,并且我假设循环遍历数组直到找到正确的值将比 64 个不同的ifs 更有效。
我使用 两个 单独的数组尝试过类似的操作(只是一个示例):
for (var i=0;i<array.length;i++) {
if (array[i] === user_input) {
var index = indexOf(array[i]);
break;
}
}
然后使用index变量作为每个数组中值的索引号,但它返回undefined
我也试过这个:Separate key and value pairs into two arrays
但它给了我 all 数组中的值,这是我不想要的。我只想要用户输入的一个特定值。虽然我可以使用索引号选择数组的一个特定部分,但我不知道如何使该部分动态化(例如,根据用户输入的内容进行更改)。
甚至有可能做到这一点吗?如果没有,最好的方法是什么?
谢谢。
【问题讨论】:
-
cat,dog或cat:dog? -
@AmitJoki
cat:dog。抱歉,打错字了。
标签: javascript arrays if-statement for-loop