В вашем выражении if
есть две строки кодов, поэтому вам нужно обернуть их в {}
. Если это одна строка, то {}
необязательны.
Так что либо -
if(intervaldefinitions[i][2] === interval) {
var intervalnumber = intervaldefinitions[i][0];
return intervalnumber;
}
ИЛИ
if(intervaldefinitions[i][2] === interval)
return intervaldefinitions[i][0];
Рабочий код -
var intervaldefinitions = [
[0, "Unison", "Unison"],
[1, "m2", "minor second"],
[2, "M2", "Major second"],
[3, "m3", "minor third"],
[4, "M3", "Major third"],
[5, "P4", "Perfect fourth"],
[6, "TT", "Tritone"],
[7, "P5", "Perfect Fifth"],
[8, "m6", "minor sixth"],
[9, "M6", "Major sixth"],
[10, "m7", "minor seventh"],
[11, "M7", "Major seventh"],
[12, "Octave", "Octave"]];
function intervalnametonumber(interval)
{
for(var i=0; i<13;i++) {
// console.log(intervaldefinitions[i][2])
if(intervaldefinitions[i][2] === interval) {
var intervalnumber = intervaldefinitions[i][0];
return intervalnumber;
}
}
}
console.log(intervalnametonumber("Unison"))
//Returns 0
console.log(intervalnametonumber("minor second"))
//Returns undefined, whereas I would expect it to return 1