Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript For循环返回一个索引号匹配_Javascript - Fatal编程技术网

Javascript For循环返回一个索引号匹配

Javascript For循环返回一个索引号匹配,javascript,Javascript,我的for循环有问题。我想返回与水果的num匹配的索引。当num=2时,我希望它返回“apple”。我做错了什么 var num=2; var fruits = ["Banana", "Orange", "Apple", "Mango"]; for (var i=0;i <fruits.length;i++) { if (fruits[i] === num) { console.log("matched, it is" + fruits[

我的for循环有问题。我想返回与水果的
num
匹配的索引。当
num=2
时,我希望它返回“apple”。我做错了什么

    var num=2;
    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    for (var i=0;i <fruits.length;i++) {
      if (fruits[i] === num) {
        console.log("matched, it is" + fruits[num])
      } else {
        console.log("did not match")
      }
    }
var num=2;
var水果=[“香蕉”、“橙子”、“苹果”、“芒果”];

对于(var i=0;i您必须将
num
与数组索引
i
进行比较:

if (i == num) {
   console.log("matched, it is" + fruits[num])
}
if(fruits[i]==num){…}
-
fruits[i]
fruits
数组中位于
i
位置的元素,而不是索引。请将其与索引
i==num
进行比较

var num=2,
水果=[“香蕉”、“橘子”、“苹果”、“芒果”];
对于(变量i=0;i}
您应该检查的条件是

if(i==num)
而不是
if(i==num)

您希望将索引
i
与数字
num
进行比较,而不是将
水果
数组中的索引
i
处的值与
num
进行比较

例如:
水果[0]
是“香蕉”,“
水果[1]
是“橙色”,等等。当您应该将
i
的值从0,1,…3与
num
值2进行比较时,您要做的是将“香蕉”,“橙色”等与
num
值2进行比较

此外,正如@Kamyar所指出的,您可以直接访问
水果[num]
,可能是在对
水果
从外部来源填充的情况下进行健全性检查之后:

var num=2;
var水果=[“香蕉”、“橙子”、“苹果”、“芒果”];
如果(果数!=null&&num>=0&&num}
为什么需要循环?为什么不
水果[num]
?为了更清楚一点,水果[i]返回索引i处水果的名称。因此水果[i]永远不会===num,除非向数组中添加数字。