Javascript For循环返回一个索引号匹配
我的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[
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,除非向数组中添加数字。