Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.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 为什么我的代码跳过if语句而只返回else部分?JS_Javascript_If Statement_Iteration - Fatal编程技术网

Javascript 为什么我的代码跳过if语句而只返回else部分?JS

Javascript 为什么我的代码跳过if语句而只返回else部分?JS,javascript,if-statement,iteration,Javascript,If Statement,Iteration,对CodeWars上的新成员进行分类 要成为资深会员,会员必须年满55岁,且残障程度大于7。在这个槌球俱乐部,障碍从-2到+26;运动员越优秀,障碍越小 输入 输入将包括一个列表,每个列表包含两个项目。每个列表包含单个潜在成员的信息。信息由一个表示人的年龄的整数和一个表示人的残疾的整数组成 我的代码跳过了if部分;它只返回“打开”,从不返回“高级” 我已经看过stackoverflow的类似问题;但是,我在JavaScript中找不到(已经看过java、css、html、python等)。此外,

对CodeWars上的新成员进行分类

要成为资深会员,会员必须年满55岁,且残障程度大于7。在这个槌球俱乐部,障碍从-2到+26;运动员越优秀,障碍越小

输入 输入将包括一个列表,每个列表包含两个项目。每个列表包含单个潜在成员的信息。信息由一个表示人的年龄的整数和一个表示人的残疾的整数组成

我的代码跳过了if部分;它只返回“打开”,从不返回“高级”

我已经看过stackoverflow的类似问题;但是,我在JavaScript中找不到(已经看过java、css、html、python等)。此外,已经提出的问题似乎更多地与if语句中的if语句有关,或者在跳过else语句的情况下,它们有相反的问题。我尝试过切换“未结”和“高级”支票,但这不起作用。在将int与字符串一起使用之前,我遇到过一些问题,反之亦然,但我认为在本例中这不应该是一个问题,因为它们都是整数

function openOrSenior(data){
  var array = [];
  for(var i = 0; i < data.length; i++) {
    var age = data[i[0]];
    var handicap = data[i[1]];
    if (age >= 55 && handicap > 7) {
      array.push("Senior");
    } else {
      array.push("Open");
    }
  }
  return array;
}


i
是一个数字,例如0,因此
i[0]
未定义的
,因为数字没有属性。因此,执行
data[i[0]]
data[undefined]
相同,这可能不是您想要的。可能您想访问位于位置
i
data[i]
)的数组,并获取该数组的第一个值(
[0]
)?

在应用0,1索引时,您需要更改它以查看子数组

var age = data[i][0];
var handicap = data[i][1];
函数openOrSenior(数据){
var数组=[];
对于(变量i=0;i=55岁和残疾>7岁){
array.push(“高级”);
}否则{
数组。推送(“打开”);
}
}
返回数组;
}
log(openOrSenior([45,12],[55,21],[19,2],[104,20]]);

log(openOrSenior([59,12],[55,-1],[12,-2],[12,12]])代码> >代码> i [ 0 ] <代码>,<代码> i [代码] >代码> i [ 1 ] <代码>和<代码> i [ 0 ] < /代码>总是等于<代码>未定义< /Cord> >我认为这是一个键入,所以投票以关闭为例。
var age = data[i][0];
var handicap = data[i][1];